20 #ifndef __JackDebugClient__
21 #define __JackDebugClient__
23 #define MAX_PORT_HISTORY 2048
25 #include "JackClient.h"
38 jack_port_id_t idport;
39 char name[JACK_PORT_NAME_SIZE];
54 std::ofstream* fStream;
62 char fClientName[JACK_CLIENT_NAME_SIZE + 1];
63 JackProcessCallback fProcessTimeCallback;
64 void* fProcessTimeCallbackArg;
71 virtual int Open(
const char* server_name,
const char* name,
int uuid, jack_options_t options, jack_status_t* status);
78 int ClientNotify(
int refnum,
const char* name,
int notify,
int sync,
const char* message,
int value1,
int value2);
84 int SetBufferSize(jack_nframes_t buffer_size);
85 int SetFreeWheel(
int onoff);
86 int ComputeTotalLatencies();
88 jack_native_thread_t GetThreadID();
91 int PortRegister(
const char* port_name,
const char* port_type,
unsigned long flags,
unsigned long buffer_size);
92 int PortUnRegister(jack_port_id_t port);
94 int PortConnect(
const char* src,
const char* dst);
95 int PortDisconnect(
const char* src,
const char* dst);
96 int PortDisconnect(jack_port_id_t src);
98 int PortIsMine(jack_port_id_t port_index);
99 int PortRename(jack_port_id_t port_index,
const char* name);
102 int ReleaseTimebase();
103 int SetSyncCallback(JackSyncCallback sync_callback,
void* arg);
104 int SetSyncTimeout(jack_time_t timeout);
105 int SetTimebaseCallback(
int conditional, JackTimebaseCallback timebase_callback,
void* arg);
106 void TransportLocate(jack_nframes_t frame);
108 jack_nframes_t GetCurrentTransportFrame();
110 void TransportStart();
111 void TransportStop();
114 void OnShutdown(JackShutdownCallback callback,
void *arg);
115 void OnInfoShutdown(JackInfoShutdownCallback callback,
void *arg);
116 int SetProcessCallback(JackProcessCallback callback,
void* arg);
117 int SetXRunCallback(JackXRunCallback callback,
void* arg);
118 int SetInitCallback(JackThreadInitCallback callback,
void* arg);
119 int SetGraphOrderCallback(JackGraphOrderCallback callback,
void* arg);
120 int SetBufferSizeCallback(JackBufferSizeCallback callback,
void* arg);
121 int SetClientRegistrationCallback(JackClientRegistrationCallback callback,
void* arg);
122 int SetFreewheelCallback(JackFreewheelCallback callback,
void* arg);
123 int SetPortRegistrationCallback(JackPortRegistrationCallback callback,
void* arg);
124 int SetPortConnectCallback(JackPortConnectCallback callback,
void *arg);
125 int SetPortRenameCallback(JackPortRenameCallback callback,
void *arg);
127 int SetLatencyCallback(JackLatencyCallback callback,
void *arg);
130 char* GetInternalClientName(
int ref);
131 int InternalClientHandle(
const char* client_name, jack_status_t* status);
132 int InternalClientLoad(
const char* client_name, jack_options_t options, jack_status_t* status,
jack_varargs_t* va);
133 void InternalClientUnload(
int ref, jack_status_t* status);
136 int SetProcessThread(JackThreadCallback fun,
void *arg);
139 jack_session_command_t* SessionNotify(
const char* target, jack_session_event_type_t type,
const char* path);
141 char* GetUUIDForClientName(
const char* client_name);
142 char* GetClientNameByUUID(
const char* uuid);
143 int ReserveClientName(
const char* client_name,
const char* uuid);
144 int ClientHasSessionCallback(
const char* client_name);
147 void CheckClient(
const char* function_name)
const;
149 static int TimeCallback(jack_nframes_t nframes,
void *arg);
Graph manager: contains the connection manager and the port array.
int Deactivate()
Need to stop thread after deactivating in the server.
int Activate()
We need to start thread before activating in the server, otherwise the FW driver connected to the cli...
int ClientNotify(int refnum, const char *name, int notify, int sync, const char *message, int value1, int value2)
Notification received from the server.
A "decorator" debug client to validate API use.
Engine control in shared memory.
void(* JackSessionCallback)(jack_session_event_t *event, void *arg)
The base class for clients: share part of the implementation for JackInternalClient and JackLibClient...
Client control possibly in shared memory.