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();
87 void ShutDown(jack_status_t code,
const char* message);
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);