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;
97 jack_net_slave_t* jack_net_slave_open(
const char* ip,
int port,
const char* name,
jack_slave_t* request,
jack_master_t* result);
105 int jack_net_slave_close(jack_net_slave_t* net);
122 typedef int (* JackNetSlaveProcessCallback) (jack_nframes_t buffer_size,
124 float** audio_input_buffer,
126 void** midi_input_buffer,
128 float** audio_output_buffer,
130 void** midi_output_buffer,
141 int jack_set_net_slave_process_callback(jack_net_slave_t * net, JackNetSlaveProcessCallback net_callback,
void *arg);
149 int jack_net_slave_activate(jack_net_slave_t* net);
157 int jack_net_slave_deactivate(jack_net_slave_t* net);
165 int jack_net_slave_is_active(jack_net_slave_t* net);
174 typedef int (*JackNetSlaveBufferSizeCallback)(jack_nframes_t nframes,
void *arg);
184 int jack_set_net_slave_buffer_size_callback(jack_net_slave_t *net, JackNetSlaveBufferSizeCallback bufsize_callback,
void *arg);
193 typedef int (*JackNetSlaveSampleRateCallback)(jack_nframes_t nframes,
void *arg);
203 int jack_set_net_slave_sample_rate_callback(jack_net_slave_t *net, JackNetSlaveSampleRateCallback samplerate_callback,
void *arg);
209 typedef void (*JackNetSlaveShutdownCallback)(
void* arg);
219 int jack_set_net_slave_shutdown_callback(jack_net_slave_t *net, JackNetSlaveShutdownCallback shutdown_callback,
void *arg) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
231 typedef int (*JackNetSlaveRestartCallback)(
void* arg);
241 int jack_set_net_slave_restart_callback(jack_net_slave_t *net, JackNetSlaveRestartCallback restart_callback,
void *arg) JACK_OPTIONAL_WEAK_EXPORT;
248 typedef void (*JackNetSlaveErrorCallback) (
int error_code,
void* arg);
258 int jack_set_net_slave_error_callback(jack_net_slave_t *net, JackNetSlaveErrorCallback error_callback,
void *arg) JACK_OPTIONAL_WEAK_EXPORT;
263 typedef struct _jack_net_master jack_net_master_t;
274 jack_net_master_t* jack_net_master_open(
const char* ip,
int port,
const char* name,
jack_master_t* request,
jack_slave_t* result);
282 int jack_net_master_close(jack_net_master_t* net);
294 int jack_net_master_recv(jack_net_master_t* net,
int audio_input,
float** audio_input_buffer,
int midi_input,
void** midi_input_buffer);
307 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);
319 int jack_net_master_send(jack_net_master_t* net,
int audio_output,
float** audio_output_buffer,
int midi_output,
void** midi_output_buffer);
332 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);
339 typedef struct _jack_adapter jack_adapter_t;
352 jack_adapter_t* jack_create_adapter(
int input,
int output,
353 jack_nframes_t host_buffer_size,
354 jack_nframes_t host_sample_rate,
355 jack_nframes_t adapted_buffer_size,
356 jack_nframes_t adapted_sample_rate);
364 int jack_destroy_adapter(jack_adapter_t* adapter);
372 void jack_flush_adapter(jack_adapter_t* adapter);
383 int jack_adapter_push_and_pull(jack_adapter_t* adapter,
float** input,
float** output,
unsigned int frames);
394 int jack_adapter_pull_and_push(jack_adapter_t* adapter,
float** input,
float** output,
unsigned int frames);