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:

## 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 JackGraphManager * | GetGraphManager () const =0
virtual JackEngineControl * | GetEngineControl () 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 (jack_status_t code, const char *message)
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_t * | SessionNotify (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 JackClientControl * | GetClientControl () 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 ()
void | SetupRealTime ()
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_NAME_SIZE+1]
JackThread | fThread
detail::JackClientChannelInterface * | fChannel
JackSynchro * | fSynchroTable
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 141 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:

- JackClient.h
- JackClient.cpp