28 #include <jack/systemdeps.h>
29 #include <jack/types.h>
30 #include <jack/weakmacros.h>
32 #define DEFAULT_MULTICAST_IP "225.3.19.154"
33 #define DEFAULT_PORT 19000
34 #define DEFAULT_MTU 1500
35 #define MASTER_NAME_SIZE 256
40 #define SOCKET_ERROR -1
41 #define SYNC_PACKET_ERROR -2
42 #define DATA_PACKET_ERROR -3
44 #define RESTART_CB_API 1
74 jack_nframes_t buffer_size;
75 jack_nframes_t sample_rate;
76 char master_name[MASTER_NAME_SIZE];
86 typedef struct _jack_net_slave jack_net_slave_t;
99 jack_net_slave_t* jack_net_slave_open(
const char* ip,
int port,
const char* name,
jack_slave_t* request,
jack_master_t* result);
108 int jack_net_slave_close(jack_net_slave_t* net);
126 typedef int (* JackNetSlaveProcessCallback) (jack_nframes_t buffer_size,
128 float** audio_input_buffer,
130 void** midi_input_buffer,
132 float** audio_output_buffer,
134 void** midi_output_buffer,
146 int jack_set_net_slave_process_callback(jack_net_slave_t * net, JackNetSlaveProcessCallback net_callback,
void *arg);
155 int jack_net_slave_activate(jack_net_slave_t* net);
164 int jack_net_slave_deactivate(jack_net_slave_t* net);
173 int jack_net_slave_is_active(jack_net_slave_t* net);
183 typedef int (*JackNetSlaveBufferSizeCallback)(jack_nframes_t nframes,
void *arg);
194 int jack_set_net_slave_buffer_size_callback(jack_net_slave_t *net, JackNetSlaveBufferSizeCallback bufsize_callback,
void *arg);
204 typedef int (*JackNetSlaveSampleRateCallback)(jack_nframes_t nframes,
void *arg);
215 int jack_set_net_slave_sample_rate_callback(jack_net_slave_t *net, JackNetSlaveSampleRateCallback samplerate_callback,
void *arg);
222 typedef void (*JackNetSlaveShutdownCallback)(
void* arg);
233 int jack_set_net_slave_shutdown_callback(jack_net_slave_t *net, JackNetSlaveShutdownCallback shutdown_callback,
void *arg) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
246 typedef int (*JackNetSlaveRestartCallback)(
void* arg);
257 int jack_set_net_slave_restart_callback(jack_net_slave_t *net, JackNetSlaveRestartCallback restart_callback,
void *arg) JACK_OPTIONAL_WEAK_EXPORT;
265 typedef void (*JackNetSlaveErrorCallback) (
int error_code,
void* arg);
276 int jack_set_net_slave_error_callback(jack_net_slave_t *net, JackNetSlaveErrorCallback error_callback,
void *arg) JACK_OPTIONAL_WEAK_EXPORT;
281 typedef struct _jack_net_master jack_net_master_t;
302 int jack_net_master_close(jack_net_master_t* net);
315 int jack_net_master_recv(jack_net_master_t* net,
int audio_input,
float** audio_input_buffer,
int midi_input,
void** midi_input_buffer);
329 int jack_net_master_recv_slice(jack_net_master_t* net,
int audio_input,
float** audio_input_buffer,
int midi_input,
void** midi_input_buffer,
int frames);
342 int jack_net_master_send(jack_net_master_t* net,
int audio_output,
float** audio_output_buffer,
int midi_output,
void** midi_output_buffer);
356 int jack_net_master_send_slice(jack_net_master_t* net,
int audio_output,
float** audio_output_buffer,
int midi_output,
void** midi_output_buffer,
int frames);
363 typedef struct _jack_adapter jack_adapter_t;
377 jack_adapter_t* jack_create_adapter(
int input,
int output,
378 jack_nframes_t host_buffer_size,
379 jack_nframes_t host_sample_rate,
380 jack_nframes_t adapted_buffer_size,
381 jack_nframes_t adapted_sample_rate);
390 int jack_destroy_adapter(jack_adapter_t* adapter);
399 void jack_flush_adapter(jack_adapter_t* adapter);
411 int jack_adapter_push_and_pull(jack_adapter_t* adapter,
float** input,
float** output,
unsigned int frames);
423 int jack_adapter_pull_and_push(jack_adapter_t* adapter,
float** input,
float** output,
unsigned int frames);