28 #include <jack/systemdeps.h>
29 #include <jack/types.h>
31 #define DEFAULT_MULTICAST_IP "225.3.19.154"
32 #define DEFAULT_PORT 19000
33 #define DEFAULT_MTU 1500
34 #define MASTER_NAME_SIZE 256
36 #define SOCKET_ERROR -1
66 jack_nframes_t buffer_size;
67 jack_nframes_t sample_rate;
68 char master_name[MASTER_NAME_SIZE];
76 typedef struct _jack_net_slave jack_net_slave_t;
87 jack_net_slave_t* jack_net_slave_open(
const char* ip,
int port,
const char* name,
jack_slave_t* request,
jack_master_t* result);
95 int jack_net_slave_close(jack_net_slave_t* net);
112 typedef int (* JackNetSlaveProcessCallback) (jack_nframes_t buffer_size,
114 float** audio_input_buffer,
116 void** midi_input_buffer,
118 float** audio_output_buffer,
120 void** midi_output_buffer,
131 int jack_set_net_slave_process_callback(jack_net_slave_t * net, JackNetSlaveProcessCallback net_callback,
void *arg);
139 int jack_net_slave_activate(jack_net_slave_t* net);
147 int jack_net_slave_deactivate(jack_net_slave_t* net);
156 typedef int (*JackNetSlaveBufferSizeCallback)(jack_nframes_t nframes,
void *arg);
165 typedef int (*JackNetSlaveSampleRateCallback)(jack_nframes_t nframes,
void *arg);
175 int jack_set_net_slave_buffer_size_callback(jack_net_slave_t *net, JackNetSlaveBufferSizeCallback bufsize_callback,
void *arg);
185 int jack_set_net_slave_sample_rate_callback(jack_net_slave_t *net, JackNetSlaveSampleRateCallback samplerate_callback,
void *arg);
191 typedef void (*JackNetSlaveShutdownCallback)(
void* data);
201 int jack_set_net_slave_shutdown_callback(jack_net_slave_t *net, JackNetSlaveShutdownCallback shutdown_callback,
void *arg);
206 typedef struct _jack_net_master jack_net_master_t;
217 jack_net_master_t* jack_net_master_open(
const char* ip,
int port,
const char* name,
jack_master_t* request,
jack_slave_t* result);
225 int jack_net_master_close(jack_net_master_t* net);
237 int jack_net_master_recv(jack_net_master_t* net,
int audio_input,
float** audio_input_buffer,
int midi_input,
void** midi_input_buffer);
249 int jack_net_master_send(jack_net_master_t* net,
int audio_output,
float** audio_output_buffer,
int midi_output,
void** midi_output_buffer);
256 typedef struct _jack_adapter jack_adapter_t;
269 jack_adapter_t* jack_create_adapter(
int input,
int output,
270 jack_nframes_t host_buffer_size,
271 jack_nframes_t host_sample_rate,
272 jack_nframes_t adapted_buffer_size,
273 jack_nframes_t adapted_sample_rate);
281 int jack_destroy_adapter(jack_adapter_t* adapter);
289 void jack_flush_adapter(jack_adapter_t* adapter);
300 int jack_adapter_push_and_pull(jack_adapter_t* adapter,
float** input,
float** output,
unsigned int frames);
311 int jack_adapter_pull_and_push(jack_adapter_t* adapter,
float** input,
float** output,
unsigned int frames);