#include <JackClient.h>
Inheritance diagram for Jack::JackClient:
Public Member Functions | |
JackClient () | |
JackClient (JackSynchro **table) | |
virtual | ~JackClient () |
virtual int | Open (const char *server_name, const char *name, jack_options_t options, jack_status_t *status)=0 |
virtual int | Close () |
virtual JackGraphManager * | GetGraphManager () const=0 |
virtual JackEngineControl * | GetEngineControl () const=0 |
virtual int | ClientNotify (int refnum, const char *name, int notify, int sync, int value1, int value2) |
virtual int | Activate () |
We need to start thread before activating in the server, otherwise the FW driver connected to the client may not be activated. | |
virtual int | Deactivate () |
Need to stop thread after deactivating in the server. | |
virtual int | SetBufferSize (jack_nframes_t buffer_size) |
virtual int | SetFreeWheel (int onoff) |
virtual void | ShutDown () |
virtual pthread_t | GetThreadID () |
virtual int | PortRegister (const char *port_name, const char *port_type, unsigned long flags, unsigned long buffer_size) |
virtual int | PortUnRegister (jack_port_id_t port) |
virtual int | PortConnect (const char *src, const char *dst) |
virtual int | PortDisconnect (const char *src, const char *dst) |
virtual int | PortConnect (jack_port_id_t src, jack_port_id_t dst) |
virtual int | PortDisconnect (jack_port_id_t src) |
virtual int | PortIsMine (jack_port_id_t port_index) |
virtual int | ReleaseTimebase () |
virtual int | SetSyncCallback (JackSyncCallback sync_callback, void *arg) |
virtual int | SetSyncTimeout (jack_time_t timeout) |
virtual int | SetTimebaseCallback (int conditional, JackTimebaseCallback timebase_callback, void *arg) |
virtual int | TransportLocate (jack_nframes_t frame) |
virtual jack_transport_state_t | TransportQuery (jack_position_t *pos) |
virtual jack_nframes_t | GetCurrentTransportFrame () |
virtual int | TransportReposition (jack_position_t *pos) |
virtual void | TransportStart () |
virtual void | TransportStop () |
virtual void | OnShutdown (JackShutdownCallback callback, void *arg) |
virtual int | SetProcessCallback (JackProcessCallback callback, void *arg) |
virtual int | SetXRunCallback (JackXRunCallback callback, void *arg) |
virtual int | SetInitCallback (JackThreadInitCallback callback, void *arg) |
virtual int | SetGraphOrderCallback (JackGraphOrderCallback callback, void *arg) |
virtual int | SetBufferSizeCallback (JackBufferSizeCallback callback, void *arg) |
virtual int | SetClientRegistrationCallback (JackClientRegistrationCallback callback, void *arg) |
virtual int | SetFreewheelCallback (JackFreewheelCallback callback, void *arg) |
virtual int | SetPortRegistrationCallback (JackPortRegistrationCallback callback, void *arg) |
virtual int | SetPortConnectCallback (JackPortConnectCallback callback, void *arg) |
virtual char * | GetInternalClientName (int ref) |
virtual int | InternalClientHandle (const char *client_name, jack_status_t *status) |
virtual int | InternalClientLoad (const char *client_name, jack_options_t options, jack_status_t *status, jack_varargs_t *va) |
virtual void | InternalClientUnload (int ref, jack_status_t *status) |
virtual jack_nframes_t | Wait (int status) |
bool | Init () |
Called once when the thread starts. | |
bool | Execute () |
RT thread. | |
Protected Member Functions | |
int | StartThread () |
void | SetupDriverSync (bool freewheel) |
bool | IsActive () |
void | CallSyncCallback () |
void | CallTimebaseCallback () |
int | RequestNewPos (jack_position_t *pos) |
virtual int | ClientNotifyImp (int refnum, const char *name, int notify, int sync, int value1, int value) |
Notification received from the server. | |
bool | WaitFirstSync () |
void | ExecuteThread () |
bool | WaitSync () |
void | SignalSync () |
int | CallProcessCallback () |
int | End () |
int | Error () |
Protected Attributes | |
JackProcessCallback | fProcess |
JackGraphOrderCallback | fGraphOrder |
JackXRunCallback | fXrun |
JackShutdownCallback | fShutdown |
JackThreadInitCallback | fInit |
JackBufferSizeCallback | fBufferSize |
JackClientRegistrationCallback | fClientRegistration |
JackFreewheelCallback | fFreewheel |
JackPortRegistrationCallback | fPortRegistration |
JackPortConnectCallback | fPortConnect |
JackTimebaseCallback | fTimebase |
JackSyncCallback | fSync |
void * | fProcessArg |
void * | fGraphOrderArg |
void * | fXrunArg |
void * | fShutdownArg |
void * | fInitArg |
void * | fBufferSizeArg |
void * | fClientRegistrationArg |
void * | fFreewheelArg |
void * | fPortRegistrationArg |
void * | fPortConnectArg |
void * | fTimebaseArg |
void * | fSyncArg |
int | fConditionnal |
char | fServerName [64] |
JackThread * | fThread |
JackClientChannelInterface * | fChannel |
JackSynchro ** | fSynchroTable |
std::list< jack_port_id_t > | fPortList |
Definition at line 51 of file JackClient.h.
void Jack::JackClient::SetupDriverSync | ( | bool | freewheel | ) | [protected] |
In "async" mode, the server does not synchronize itself on the output drivers, thus it would never "consume" the activations. The synchronization primitives for drivers are setup in "flush" mode that to not keep unneeded activations. Drivers synchro are setup in "flush" mode if server is "async" and NOT freewheel.
Definition at line 103 of file JackClient.cpp.
References fSynchroTable, and Jack::JackSynchro::SetFlush().
Referenced by ClientNotify(), Jack::JackLibClient::Open(), and Jack::JackInternalClient::Open().
JackClientChannelInterface* Jack::JackClient::fChannel [protected] |
Thread to execute the Process function
Definition at line 85 of file JackClient.h.
Referenced by Activate(), Close(), Deactivate(), End(), Error(), GetInternalClientName(), InternalClientHandle(), InternalClientLoad(), InternalClientUnload(), Jack::JackInternalClient::JackInternalClient(), Jack::JackLibClient::JackLibClient(), Jack::JackLibClient::Open(), Jack::JackInternalClient::Open(), PortConnect(), PortDisconnect(), PortRegister(), PortUnRegister(), ReleaseTimebase(), SetBufferSize(), SetFreeWheel(), SetTimebaseCallback(), Jack::JackInternalClient::~JackInternalClient(), and Jack::JackLibClient::~JackLibClient().