2018-08-07 22:38:41 +02:00
|
|
|
#ifndef JACKDRIVER_H
|
|
|
|
#define JACKDRIVER_H
|
|
|
|
#include<jack/jack.h>
|
|
|
|
#include<jack/ringbuffer.h>
|
|
|
|
|
|
|
|
typedef struct _jseq
|
|
|
|
{
|
2018-08-12 10:30:08 +02:00
|
|
|
char *client_name;
|
2018-08-11 21:04:09 +02:00
|
|
|
jack_ringbuffer_t **ringbuffer_out;
|
|
|
|
jack_ringbuffer_t **ringbuffer_in;
|
2018-08-07 22:38:41 +02:00
|
|
|
jack_client_t *jack_client;
|
2018-08-11 21:04:09 +02:00
|
|
|
jack_port_t **output_port;
|
|
|
|
jack_port_t **input_port;
|
2018-09-18 22:31:12 +02:00
|
|
|
uint8_t n_in, n_out, passthrough[2];
|
2018-08-07 22:38:41 +02:00
|
|
|
} JACK_SEQ;
|
|
|
|
|
2018-08-16 00:10:41 +02:00
|
|
|
extern int jack_quit;
|
|
|
|
// This is supposed to be set properly by main().
|
|
|
|
extern char *jack_command_line;
|
2018-08-15 21:36:42 +02:00
|
|
|
|
2018-08-07 22:38:41 +02:00
|
|
|
int init_jack(JACK_SEQ* seq, uint8_t verbose);
|
|
|
|
void close_jack(JACK_SEQ* seq);
|
2018-08-11 21:04:09 +02:00
|
|
|
void queue_midi(void* seqq, uint8_t msg[], uint8_t port_no);
|
|
|
|
int pop_midi(void* seqq, uint8_t msg[], uint8_t *port_no);
|
2018-08-07 22:38:41 +02:00
|
|
|
|
|
|
|
#endif
|