21 #ifndef __JackThreadedDriver__
22 #define __JackThreadedDriver__
24 #include "JackDriver.h"
25 #include "JackPlatformPlug.h"
51 virtual int Open (
bool capturing,
56 const char* capture_driver_name,
57 const char* playback_driver_name,
58 jack_nframes_t capture_latency,
59 jack_nframes_t playback_latency)
63 virtual int Open(jack_nframes_t buffer_size,
64 jack_nframes_t samplerate,
70 const char* capture_driver_name,
71 const char* playback_driver_name,
72 jack_nframes_t capture_latency,
73 jack_nframes_t playback_latency);
76 virtual int Process();
87 virtual bool IsFixedBufferSize();
88 virtual int SetBufferSize(jack_nframes_t buffer_size);
89 virtual int SetSampleRate(jack_nframes_t sample_rate);
91 virtual void SetMaster(
bool onoff);
92 virtual bool GetMaster();
97 virtual std::list<JackDriverInterface*> GetSlaves();
99 virtual int ProcessReadSlaves();
100 virtual int ProcessWriteSlaves();
102 virtual int ProcessRead();
103 virtual int ProcessWrite();
105 virtual int ProcessReadSync();
106 virtual int ProcessWriteSync();
108 virtual int ProcessReadAsync();
109 virtual int ProcessWriteAsync();
111 virtual int ClientNotify(
int refnum,
const char* name,
int notify,
int sync,
const char* message,
int value1,
int value2);
113 virtual bool IsRealTime()
const;
114 virtual bool IsRunning()
const;
117 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.