7 #ifndef HAS_LIVES_JACK_H
8 #define HAS_LIVES_JACK_H
18 #include <jack/jack.h>
19 #include <jack/transport.h>
21 boolean lives_jack_init(
void);
22 boolean lives_jack_poll(
void);
23 void lives_jack_end(
void);
25 int lives_start_ready_callback(jack_transport_state_t state, jack_position_t *pos,
void *arg);
27 void jack_pb_start(
void);
28 void jack_pb_stop(
void);
36 #define JACK_MAX_OUTPUT_PORTS 10
37 #define JACK_MAX_INPUT_PORTS 10
39 #define ERR_PORT_NOT_FOUND 10
42 typedef jack_nframes_t nframes_t;
47 #define JackTClosed 1024
48 #define JackTReset 1025
49 #define JackTStopped 1026
53 int64_t sample_out_rate;
54 int64_t sample_in_rate;
55 uint64_t num_input_channels;
56 uint64_t num_output_channels;
57 uint64_t bytes_per_channel;
61 jack_port_t *output_port[JACK_MAX_OUTPUT_PORTS];
62 jack_port_t *input_port[JACK_MAX_INPUT_PORTS];
63 jack_client_t *client;
65 char **jack_port_name;
66 unsigned int jack_port_name_count;
67 uint64_t jack_port_flags;
71 jack_transport_state_t state;
73 float volume[JACK_MAX_OUTPUT_PORTS];
83 boolean reverse_endian;
90 struct timeval last_reconnect_attempt;
92 boolean play_when_stopped;
94 uint64_t frames_written;
96 int out_chans_available;
97 int in_chans_available;
109 volatile float jack_pulse[1024];
112 volatile int read_abuf;
114 volatile int astream_fd;
118 #define JACK_MAX_OUTDEVICES 10
119 #define JACK_MAX_INDEVICES 10
124 jack_driver_t *jack_get_driver(
int dev_idx,
boolean is_output);
126 int jack_audio_init(
void);
127 int jack_audio_read_init(
void);
129 int jack_open_device(jack_driver_t *);
130 int jack_open_device_read(jack_driver_t *);
132 int jack_driver_activate(jack_driver_t *);
133 int jack_read_driver_activate(jack_driver_t *,
boolean autocon);
135 void jack_close_device(jack_driver_t *);
137 boolean jack_try_reconnect(
void);
139 void jack_aud_pb_ready(
int fileno);
144 uint64_t lives_jack_get_time(jack_driver_t *,
boolean absolute);
145 boolean jack_audio_seek_frame(jack_driver_t *,
int frame);
146 int64_t jack_audio_seek_bytes(jack_driver_t *, int64_t bytes);
148 void jack_get_rec_avals(jack_driver_t *);
150 uint64_t jack_transport_get_time(
void);
152 double lives_jack_get_pos(jack_driver_t *);
lives_audio_loop_t
Definition: audio.h:146
lives_whentostop_t
which stream end should cause playback to finish ?
Definition: main.h:410
lives_cancel_t
cancel reason
Definition: main.h:417