2 Copyright (C) 2004-2008 Grame
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as published by
6 the Free Software Foundation; either version 2.1 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 #include "JackGlobals.h"
25 bool JackGlobals::fVerbose
= 0;
27 jack_tls_key
JackGlobals::fRealTime
;
28 static bool gKeyRealtimeInitialized
= jack_tls_allocate_key(&JackGlobals::fRealTime
);
30 jack_tls_key
JackGlobals::fKeyLogFunction
;
31 static bool fKeyLogFunctionInitialized
= jack_tls_allocate_key(&JackGlobals::fKeyLogFunction
);
33 JackMutex
* JackGlobals::fOpenMutex
= new JackMutex();
34 bool JackGlobals::fServerRunning
= false;
35 JackClient
* JackGlobals::fClientTable
[CLIENT_NUM
] = {};
38 jack_thread_creator_t
JackGlobals::fJackThreadCreator
= pthread_create
;
41 #ifdef __CLIENTDEBUG__
42 std::ofstream
* JackGlobals::fStream
= NULL
;
44 void JackGlobals::CheckContext(const char* name
)
46 if (JackGlobals::fStream
== NULL
) {
51 /* Get the current time. */
52 curtime
= time (NULL
);
53 /* Convert it to local time representation. */
54 loctime
= localtime (&curtime
);
55 strftime (buffer
, 256, "%I-%M", loctime
);
56 sprintf(provstr
, "JackAPICall-%s.log", buffer
);
57 JackGlobals::fStream
= new std::ofstream(provstr
, std::ios_base::ate
);
58 JackGlobals::fStream
->is_open();
60 (*fStream
) << "JACK API call : " << name
<< ", calling thread : " << pthread_self() << std::endl
;