34 #ifndef __JACK_FFADO_DRIVER_H__ 35 #define __JACK_FFADO_DRIVER_H__ 37 #include <libffado/ffado.h> 45 #include <netinet/in.h> 49 #include <semaphore.h> 58 #define DEBUG_LEVEL_BUFFERS (1<<0) 59 #define DEBUG_LEVEL_HANDLERS (1<<1) 60 #define DEBUG_LEVEL_XRUN_RECOVERY (1<<2) 61 #define DEBUG_LEVEL_WAIT (1<<3) 63 #define DEBUG_LEVEL_RUN_CYCLE (1<<8) 65 #define DEBUG_LEVEL_PACKETCOUNTER (1<<16) 66 #define DEBUG_LEVEL_STARTUP (1<<17) 67 #define DEBUG_LEVEL_THREADS (1<<18) 73 #define DEBUG_LEVEL ( DEBUG_LEVEL_RUN_CYCLE | \ 74 (DEBUG_LEVEL_XRUN_RECOVERY)| DEBUG_LEVEL_STARTUP | DEBUG_LEVEL_WAIT | DEBUG_LEVEL_PACKETCOUNTER) 76 #warning Building debug build! 78 #define printMessage(format, args...) jack_error( "firewire MSG: %s:%d (%s): " format, __FILE__, __LINE__, __FUNCTION__, ##args ) 79 #define printError(format, args...) jack_error( "firewire ERR: %s:%d (%s): " format, __FILE__, __LINE__, __FUNCTION__, ##args ) 81 #define printEnter() jack_error( "FWDRV ENTERS: %s (%s)\n", __FUNCTION__, __FILE__) 82 #define printExit() jack_error( "FWDRV EXITS: %s (%s)\n", __FUNCTION__, __FILE__) 86 #define debugError(format, args...) jack_error( "firewire ERR: %s:%d (%s): " format, __FILE__, __LINE__, __FUNCTION__, ##args ) 87 #define debugPrint(Level, format, args...) if(DEBUG_LEVEL & (Level)) jack_error("DEBUG %s:%d (%s) :" format, __FILE__, __LINE__, __FUNCTION__, ##args ); 88 #define debugPrintShort(Level, format, args...) if(DEBUG_LEVEL & (Level)) jack_error( format,##args ); 89 #define debugPrintWithTimeStamp(Level, format, args...) if(DEBUG_LEVEL & (Level)) jack_error( "%16lu: "format, debugGetCurrentUTime(),##args ); 90 #define SEGFAULT int *test=NULL; *test=1; 94 #define printMessage(format, args...) if(g_verbose) \ 95 jack_error("firewire MSG: " format, ##args ) 96 #define printError(format, args...) jack_error("firewire ERR: " format, ##args ) 101 #define debugError(format, args...) 102 #define debugPrint(Level, format, args...) 103 #define debugPrintShort(Level, format, args...) 104 #define debugPrintWithTimeStamp(Level, format, args...) 108 #define FFADO_RT_PRIORITY_PACKETIZER_RELATIVE 5 122 jack_nframes_t period_size;
128 jack_nframes_t buffer_size;
133 jack_nframes_t capture_frame_latency;
134 jack_nframes_t playback_frame_latency;
144 ffado_streaming_stream_type stream_type;
145 uint32_t *midi_buffer;
152 ffado_streaming_stream_type stream_type;
153 uint32_t *midi_buffer;
165 jack_nframes_t sample_rate;
166 jack_nframes_t period_size;
167 unsigned long wait_time;
169 jack_time_t wait_last;
170 jack_time_t wait_next;
173 jack_client_t *client;
186 channel_t playback_nchannels;
187 channel_t capture_nchannels;
191 ffado_sample_t *nullbuffer;
192 ffado_sample_t *scratchbuffer;
194 jack_nframes_t playback_frame_latency;
195 jack_nframes_t capture_frame_latency;
197 ffado_device_info_t device_info;
198 ffado_options_t device_options;