Browse Source

Add missing include

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1865 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.71
sletz 17 years ago
parent
commit
809c2097fb
6 changed files with 79 additions and 4 deletions
  1. +32
    -0
      common/JackAPI.cpp
  2. +35
    -3
      common/JackClient.cpp
  3. +4
    -0
      common/JackClient.h
  4. +1
    -1
      common/JackGlobals.h
  5. +2
    -0
      common/JackTypes.h
  6. +5
    -0
      common/jack/jack.h

+ 32
- 0
common/JackAPI.cpp View File

@@ -65,6 +65,11 @@ extern "C"
JackProcessCallback process_callback,
void *arg);
EXPORT jack_nframes_t jack_thread_wait(jack_client_t *client, int status);
// new
EXPORT jack_nframes_t jack_cycle_wait (jack_client_t*);
EXPORT void jack_cycle_signal (jack_client_t*, int status);
EXPORT int jack_set_thread_init_callback (jack_client_t *client,
JackThreadInitCallback thread_init_callback,
void *arg);
@@ -674,6 +679,33 @@ EXPORT jack_nframes_t jack_thread_wait(jack_client_t* ext_client, int status)
}
}

EXPORT jack_nframes_t jack_cycle_wait(jack_client_t* ext_client)
{
#ifdef __CLIENTDEBUG__
JackLibGlobals::CheckContext();
#endif
JackClient* client = (JackClient*)ext_client;
if (client == NULL) {
jack_error("jack_cycle_wait called with a NULL client");
return 0;
} else {
return client->CycleWait();
}
}

EXPORT void jack_cycle_signal(jack_client_t* ext_client, int status)
{
#ifdef __CLIENTDEBUG__
JackLibGlobals::CheckContext();
#endif
JackClient* client = (JackClient*)ext_client;
if (client == NULL) {
jack_error("jack_cycle_signal called with a NULL client");
} else {
client->CycleSignal(status);
}
}

EXPORT int jack_set_freewheel_callback(jack_client_t* ext_client, JackFreewheelCallback freewheel_callback, void* arg)
{
#ifdef __CLIENTDEBUG__


+ 35
- 3
common/JackClient.cpp View File

@@ -66,6 +66,7 @@ JackClient::JackClient(JackSynchro** table)
fPortConnectArg = NULL;
fSyncArg = NULL;
fConditionnal = 0; // Temporary??
fWait = false;
}

JackClient::~JackClient()
@@ -248,8 +249,10 @@ int JackClient::Activate()
#endif
*/

if (StartThread() < 0)
return -1;
if (fProcess || !fWait) { // Start thread only of process cb has been setup
if (StartThread() < 0)
return -1;
}

int result = -1;
fChannel->ClientActivate(GetClientControl()->fRefNum, &result);
@@ -290,7 +293,9 @@ int JackClient::Deactivate()
fThread->Kill();
#endif
*/
fThread->Kill();
//if (fProcess || fWait) { // Kill thread only of process cb has been setup
fThread->Kill();
//}
return result;
}

@@ -371,6 +376,7 @@ inline void JackClient::ExecuteThread()
}
}

/*
jack_nframes_t JackClient::Wait(int status)
{
if (status == 0)
@@ -383,6 +389,32 @@ jack_nframes_t JackClient::Wait(int status)
CallSyncCallback();
return GetEngineControl()->fBufferSize;
}
*/

jack_nframes_t JackClient::CycleWait()
{
fWait = true;
if (!WaitSync())
return Error();
CallSyncCallback();
return GetEngineControl()->fBufferSize;
}

void JackClient::CycleSignal(int status)
{
if (status == 0)
CallTimebaseCallback();
SignalSync();
if (status != 0)
End();
}

jack_nframes_t JackClient::Wait(int status)
{
CycleSignal(status);
return CycleWait();
}


inline int JackClient::CallProcessCallback()
{


+ 4
- 0
common/JackClient.h View File

@@ -172,6 +172,10 @@ class JackClient : public JackClientInterface, public JackRunnableInterface
// Fons Adriaensen thread model
virtual jack_nframes_t Wait(int status);
virtual jack_nframes_t CycleWait();
void CycleSignal(int status);
bool fWait;

// JackRunnableInterface interface
bool Init();


+ 1
- 1
common/JackGlobals.h View File

@@ -39,7 +39,7 @@ class JackEngine;
/*!
\brief Factory description
\totdo possibly use in a dynamic way to test different communication/synchro implementations.
\todo possibly use in a dynamic way to test different communication/synchro implementations.
*/

class JackFactoryImpl


+ 2
- 0
common/JackTypes.h View File

@@ -37,6 +37,8 @@ typedef ULONGLONG UInt64;
typedef unsigned long long UInt64;
#endif

#include <stdint.h>

typedef uint16_t jack_int_t; // Internal type for ports and refnum

namespace Jack


+ 5
- 0
common/jack/jack.h View File

@@ -198,6 +198,11 @@ extern "C"
*/
jack_nframes_t jack_thread_wait (jack_client_t*, int status);
jack_nframes_t jack_cycle_wait (jack_client_t*);
void jack_cycle_signal (jack_client_t*, int status);
/**
* Tell JACK to call @a thread_init_callback once just after
* the creation of the thread in which all other callbacks


Loading…
Cancel
Save