21 #ifndef __JackAudioDriver__
22 #define __JackAudioDriver__
24 #include "JackDriver.h"
38 jack_default_audio_sample_t* GetInputBuffer(
int port_index);
39 jack_default_audio_sample_t* GetOutputBuffer(
int port_index);
40 jack_default_audio_sample_t* GetMonitorBuffer(
int port_index);
42 void HandleLatencyCallback(
int status);
43 virtual void UpdateLatencies();
46 void ProcessGraphAsync();
47 void ProcessGraphAsyncMaster();
48 void ProcessGraphAsyncSlave();
51 void ProcessGraphSync();
52 void ProcessGraphSyncMaster();
53 void ProcessGraphSyncSlave();
60 virtual int Open(jack_nframes_t buffer_size,
61 jack_nframes_t samplerate,
67 const char* capture_driver_name,
68 const char* playback_driver_name,
69 jack_nframes_t capture_latency,
70 jack_nframes_t playback_latency);
72 virtual int Open(
bool capturing,
77 const char* capture_driver_name,
78 const char* playback_driver_name,
79 jack_nframes_t capture_latency,
80 jack_nframes_t playback_latency);
82 virtual int Process();
89 virtual int SetBufferSize(jack_nframes_t buffer_size);
90 virtual int SetSampleRate(jack_nframes_t sample_rate);
92 virtual int ClientNotify(
int refnum,
const char* name,
int notify,
int sync,
const char* message,
int value1,
int value2);
Inter process synchronization using using Mach semaphore.
Locked Engine, access to methods is serialized using a mutex.
The base class for audio drivers: drivers with audio ports.