7 #ifndef HAS_LIVES_JACK_H 8 #define HAS_LIVES_JACK_H 15 #include <jack/jack.h> 16 #include <jack/transport.h> 18 boolean lives_jack_init(
void);
19 boolean lives_jack_poll(
void);
20 void lives_jack_end(
void);
22 int lives_start_ready_callback(jack_transport_state_t state, jack_position_t *pos,
void *arg);
24 void jack_pb_start(
void);
25 void jack_pb_stop(
void);
33 #define JACK_DRIVER_NAME "alsa" 37 #define JACK_DRIVER_NAME "oss" 40 #define JACK_DRIVER_NAME "coreaudio" 44 #define JACK_MAX_OUTPUT_PORTS 10 45 #define JACK_MAX_INPUT_PORTS 10 47 #define ERR_PORT_NOT_FOUND 10 49 #define JACK_DEFAULT_SERVER_NAME "(default)" 51 typedef jack_nframes_t nframes_t;
55 #define JackTClosed 1024 56 #define JackTReset 1025 57 #define JackTStopped 1026 62 volatile int sample_in_rate;
63 uint64_t num_input_channels;
64 uint64_t num_output_channels;
65 uint64_t bytes_per_channel;
69 jack_port_t *output_port[JACK_MAX_OUTPUT_PORTS];
70 jack_port_t *input_port[JACK_MAX_INPUT_PORTS];
71 jack_client_t *client;
73 char **jack_port_name;
74 unsigned int jack_port_name_count;
75 uint64_t jack_port_flags;
79 jack_transport_state_t state;
81 float volume[JACK_MAX_OUTPUT_PORTS];
89 volatile off_t real_seek_pos;
92 boolean reverse_endian;
100 boolean play_when_stopped;
102 volatile jack_nframes_t nframes_start;
103 volatile uint64_t frames_written;
105 int out_chans_available;
106 int in_chans_available;
118 volatile float jack_pulse[1024];
121 volatile int read_abuf;
123 volatile int astream_fd;
125 volatile float abs_maxvol_heard;
128 #define JACK_MAX_OUTDEVICES 10 129 #define JACK_MAX_INDEVICES 10 133 jack_driver_t *jack_get_driver(
int dev_idx,
boolean is_output);
135 int jack_audio_init(
void);
136 int jack_audio_read_init(
void);
138 boolean jack_create_client_writer(jack_driver_t *);
139 boolean jack_create_client_reader(jack_driver_t *);
141 boolean jack_write_driver_activate(jack_driver_t *);
142 boolean jack_read_driver_activate(jack_driver_t *,
boolean autocon);
144 void jack_close_device(jack_driver_t *);
146 boolean jack_try_reconnect(
void);
148 void jack_aud_pb_ready(
int fileno);
150 size_t jack_flush_read_data(
size_t rbytes,
void *data);
154 void jack_time_reset(jack_driver_t *jackd, int64_t offset);
155 uint64_t lives_jack_get_time(jack_driver_t *);
156 boolean jack_audio_seek_frame(jack_driver_t *,
int frame);
157 int64_t jack_audio_seek_bytes(jack_driver_t *, int64_t bytes);
159 void jack_get_rec_avals(jack_driver_t *);
161 uint64_t jack_transport_get_time(
void);
163 double lives_jack_get_pos(jack_driver_t *);
lives_audio_loop_t
Definition: audio.h:141
lives_whentostop_t
which stream end should cause playback to finish ?
Definition: main.h:408
lives_cancel_t
cancel reason
Definition: main.h:415