Jack2  1.9.9
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Jack::JackClient Class Referenceabstract

The base class for clients: share part of the implementation for JackInternalClient and JackLibClient. More...

#include <JackClient.h>

Inheritance diagram for Jack::JackClient:
Jack::JackClientInterface Jack::JackRunnableInterface Jack::JackDebugClient Jack::JackInternalClient Jack::JackLibClient Jack::JackLoadableInternalClient Jack::JackLoadableInternalClient1 Jack::JackLoadableInternalClient2

Public Member Functions

 JackClient (JackSynchro *table)
 
virtual int Open (const char *server_name, const char *name, int uuid, jack_options_t options, jack_status_t *status)=0
 
virtual int Close ()
 
virtual JackGraphManagerGetGraphManager () const =0
 
virtual JackEngineControlGetEngineControl () const =0
 
virtual int ClientNotify (int refnum, const char *name, int notify, int sync, const char *message, 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 int ComputeTotalLatencies ()
 
virtual void ShutDown ()
 
virtual jack_native_thread_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 PortDisconnect (jack_port_id_t src)
 
virtual int PortIsMine (jack_port_id_t port_index)
 
virtual int PortRename (jack_port_id_t port_index, const char *name)
 
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 void TransportLocate (jack_nframes_t frame)
 
virtual jack_transport_state_t TransportQuery (jack_position_t *pos)
 
virtual jack_nframes_t GetCurrentTransportFrame ()
 
virtual int TransportReposition (const jack_position_t *pos)
 
virtual void TransportStart ()
 
virtual void TransportStop ()
 
virtual void OnShutdown (JackShutdownCallback callback, void *arg)
 
virtual void OnInfoShutdown (JackInfoShutdownCallback 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 SetSampleRateCallback (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 int SetPortRenameCallback (JackPortRenameCallback callback, void *arg)
 
virtual int SetSessionCallback (JackSessionCallback callback, void *arg)
 
virtual int SetLatencyCallback (JackLatencyCallback 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)
 
jack_nframes_t CycleWait ()
 
void CycleSignal (int status)
 
virtual int SetProcessThread (JackThreadCallback fun, void *arg)
 
virtual jack_session_command_tSessionNotify (const char *target, jack_session_event_type_t type, const char *path)
 
virtual int SessionReply (jack_session_event_t *ev)
 
virtual char * GetUUIDForClientName (const char *client_name)
 
virtual char * GetClientNameByUUID (const char *uuid)
 
virtual int ReserveClientName (const char *client_name, const char *uuid)
 
virtual int ClientHasSessionCallback (const char *client_name)
 
bool Init ()
 Called once when the thread starts.
 
bool Execute ()
 RT thread.
 
- Public Member Functions inherited from Jack::JackClientInterface
virtual JackClientControlGetClientControl () const =0
 

Protected Member Functions

int StartThread ()
 
void SetupDriverSync (bool freewheel)
 
bool IsActive ()
 
void CallSyncCallback ()
 
void CallTimebaseCallback ()
 
virtual int ClientNotifyImp (int refnum, const char *name, int notify, int sync, const char *message, int value1, int value)
 Notification received from the server.
 
void DummyCycle ()
 
void ExecuteThread ()
 
bool WaitSync ()
 
void SignalSync ()
 
int CallProcessCallback ()
 
void End ()
 
void Error ()
 
jack_nframes_t CycleWaitAux ()
 
void CycleSignalAux (int status)
 
void CallSyncCallbackAux ()
 
void CallTimebaseCallbackAux ()
 
int ActivateAux ()
 
void InitAux ()
 
int HandleLatencyCallback (int status)
 

Protected Attributes

JackProcessCallback fProcess
 
JackGraphOrderCallback fGraphOrder
 
JackXRunCallback fXrun
 
JackShutdownCallback fShutdown
 
JackInfoShutdownCallback fInfoShutdown
 
JackThreadInitCallback fInit
 
JackBufferSizeCallback fBufferSize
 
JackSampleRateCallback fSampleRate
 
JackClientRegistrationCallback fClientRegistration
 
JackFreewheelCallback fFreewheel
 
JackPortRegistrationCallback fPortRegistration
 
JackPortConnectCallback fPortConnect
 
JackPortRenameCallback fPortRename
 
JackTimebaseCallback fTimebase
 
JackSyncCallback fSync
 
JackThreadCallback fThreadFun
 
JackSessionCallback fSession
 
JackLatencyCallback fLatency
 
void * fProcessArg
 
void * fGraphOrderArg
 
void * fXrunArg
 
void * fShutdownArg
 
void * fInfoShutdownArg
 
void * fInitArg
 
void * fBufferSizeArg
 
void * fSampleRateArg
 
void * fClientRegistrationArg
 
void * fFreewheelArg
 
void * fPortRegistrationArg
 
void * fPortConnectArg
 
void * fPortRenameArg
 
void * fTimebaseArg
 
void * fSyncArg
 
void * fThreadFunArg
 
void * fSessionArg
 
void * fLatencyArg
 
char fServerName [JACK_SERVER_CONTROL_NAME_SIZE]
 
JackThread fThread
 
detail::JackClientChannelInterfacefChannel
 
JackSynchrofSynchroTable
 
std::list< jack_port_id_t > fPortList
 
JackSessionReply fSessionReply
 

Friends

class JackDebugClient
 

Detailed Description

The base class for clients: share part of the implementation for JackInternalClient and JackLibClient.

Definition at line 47 of file JackClient.h.

Member Function Documentation

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 140 of file JackClient.cpp.

Member Data Documentation

detail::JackClientChannelInterface* Jack::JackClient::fChannel
protected

Thread to execute the Process function

Definition at line 93 of file JackClient.h.


The documentation for this class was generated from the following files: