21 #ifndef __JackThreadedDriver__ 22 #define __JackThreadedDriver__ 24 #include "JackDriver.h" 25 #include "JackPlatformPlug.h" 50 virtual int Open(jack_nframes_t buffer_size,
51 jack_nframes_t samplerate,
57 const char* capture_driver_name,
58 const char* playback_driver_name,
59 jack_nframes_t capture_latency,
60 jack_nframes_t playback_latency);
63 virtual int Process();
74 virtual bool IsFixedBufferSize();
75 virtual int SetBufferSize(jack_nframes_t buffer_size);
76 virtual int SetSampleRate(jack_nframes_t sample_rate);
78 virtual void SetMaster(
bool onoff);
79 virtual bool GetMaster();
84 virtual std::list<JackDriverInterface*> GetSlaves();
86 virtual int ProcessReadSlaves();
87 virtual int ProcessWriteSlaves();
89 virtual int ProcessRead();
90 virtual int ProcessWrite();
92 virtual int ProcessReadSync();
93 virtual int ProcessWriteSync();
95 virtual int ProcessReadAsync();
96 virtual int ProcessWriteAsync();
98 virtual int ClientNotify(
int refnum,
const char* name,
int notify,
int sync,
const char* message,
int value1,
int value2);
100 virtual bool IsRealTime()
const;
101 virtual bool IsRunning()
const;
104 virtual bool Execute();
The base interface for drivers.
The base class for threaded drivers using a "decorator" pattern. Threaded drivers are used with block...
The base class for runnable objects, that have an Init and Execute method to be called in a threa...
The base interface for drivers clients.
Darwin threads. Real-time threads are actually "time constraint" threads.
Client control possibly in shared memory.