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];
86typedef struct _jack_net_slave jack_net_slave_t;
99jack_net_slave_t* jack_net_slave_open(
const char* ip,
int port,
const char* name,
jack_slave_t* request,
jack_master_t* result);
108int jack_net_slave_close(jack_net_slave_t* net);
126typedef 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,
146int jack_set_net_slave_process_callback(jack_net_slave_t * net, JackNetSlaveProcessCallback net_callback,
void *arg);
155int jack_net_slave_activate(jack_net_slave_t* net);
164int jack_net_slave_deactivate(jack_net_slave_t* net);
173int jack_net_slave_is_active(jack_net_slave_t* net);
183typedef int (*JackNetSlaveBufferSizeCallback)(jack_nframes_t nframes,
void *arg);
194int jack_set_net_slave_buffer_size_callback(jack_net_slave_t *net, JackNetSlaveBufferSizeCallback bufsize_callback,
void *arg);
204typedef int (*JackNetSlaveSampleRateCallback)(jack_nframes_t nframes,
void *arg);
215int jack_set_net_slave_sample_rate_callback(jack_net_slave_t *net, JackNetSlaveSampleRateCallback samplerate_callback,
void *arg);
222typedef void (*JackNetSlaveShutdownCallback)(
void* arg);
233int jack_set_net_slave_shutdown_callback(jack_net_slave_t *net, JackNetSlaveShutdownCallback shutdown_callback,
void *arg) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
246typedef int (*JackNetSlaveRestartCallback)(
void* arg);
257int jack_set_net_slave_restart_callback(jack_net_slave_t *net, JackNetSlaveRestartCallback restart_callback,
void *arg) JACK_OPTIONAL_WEAK_EXPORT;
265typedef void (*JackNetSlaveErrorCallback) (
int error_code,
void* arg);
276int jack_set_net_slave_error_callback(jack_net_slave_t *net, JackNetSlaveErrorCallback error_callback,
void *arg) JACK_OPTIONAL_WEAK_EXPORT;
281typedef struct _jack_net_master jack_net_master_t;
302int jack_net_master_close(jack_net_master_t* net);
315int jack_net_master_recv(jack_net_master_t* net,
int audio_input,
float** audio_input_buffer,
int midi_input,
void** midi_input_buffer);
329int 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);
342int jack_net_master_send(jack_net_master_t* net,
int audio_output,
float** audio_output_buffer,
int midi_output,
void** midi_output_buffer);
356int 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);
363typedef struct _jack_adapter jack_adapter_t;
377jack_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);
390int jack_destroy_adapter(jack_adapter_t* adapter);
399void jack_flush_adapter(jack_adapter_t* adapter);
411int jack_adapter_push_and_pull(jack_adapter_t* adapter,
float** input,
float** output,
unsigned int frames);
423int jack_adapter_pull_and_push(jack_adapter_t* adapter,
float** input,
float** output,
unsigned int frames);