Jack2  1.9.10
Public Member Functions | Protected Member Functions
Jack::JackAudioDriver Class Reference

The base class for audio drivers: drivers with audio ports. More...

#include <JackAudioDriver.h>

Inheritance diagram for Jack::JackAudioDriver:
Jack::JackDriver Jack::JackDriverClientInterface Jack::JackDriverInterface Jack::JackClientInterface Jack::JackAlsaDriver Jack::JackBoomerDriver Jack::JackCoreAudioDriver Jack::JackFFADODriver Jack::JackFreebobDriver Jack::JackLoopbackDriver Jack::JackOSSDriver Jack::JackPortAudioDriver Jack::JackTimedDriver

List of all members.

Public Member Functions

 JackAudioDriver (const char *name, const char *alias, JackLockedEngine *engine, JackSynchro *table)
virtual int Open (jack_nframes_t buffer_size, jack_nframes_t samplerate, bool capturing, bool playing, int inchannels, int outchannels, bool monitor, const char *capture_driver_name, const char *playback_driver_name, jack_nframes_t capture_latency, jack_nframes_t playback_latency)
virtual int Process ()
virtual int Attach ()
virtual int Detach ()
virtual int Write ()
virtual int SetBufferSize (jack_nframes_t buffer_size)
virtual int SetSampleRate (jack_nframes_t sample_rate)
virtual int ClientNotify (int refnum, const char *name, int notify, int sync, const char *message, int value1, int value2)
- Public Member Functions inherited from Jack::JackDriver
 JackDriver (const char *name, const char *alias, JackLockedEngine *engine, JackSynchro *table)
void SetMaster (bool onoff)
bool GetMaster ()
void AddSlave (JackDriverInterface *slave)
void RemoveSlave (JackDriverInterface *slave)
std::list< JackDriverInterface * > GetSlaves ()
virtual int Open ()
virtual int Close ()
virtual int Read ()
virtual int Start ()
virtual int Stop ()
int ProcessReadSlaves ()
int ProcessWriteSlaves ()
virtual int ProcessRead ()
virtual int ProcessWrite ()
virtual int ProcessReadSync ()
virtual int ProcessWriteSync ()
virtual int ProcessReadAsync ()
virtual int ProcessWriteAsync ()
virtual bool IsFixedBufferSize ()
virtual JackClientControlGetClientControl () const
virtual bool IsRealTime () const
virtual bool IsRunning () const
virtual bool Initialize ()

Protected Member Functions

jack_default_audio_sample_t * GetInputBuffer (int port_index)
jack_default_audio_sample_t * GetOutputBuffer (int port_index)
jack_default_audio_sample_t * GetMonitorBuffer (int port_index)
void HandleLatencyCallback (int status)
virtual void UpdateLatencies ()
int ProcessAsync ()
void ProcessGraphAsync ()
void ProcessGraphAsyncMaster ()
void ProcessGraphAsyncSlave ()
int ProcessSync ()
void ProcessGraphSync ()
void ProcessGraphSyncMaster ()
void ProcessGraphSyncSlave ()
- Protected Member Functions inherited from Jack::JackDriver
void CycleIncTime ()
void CycleTakeBeginTime ()
void CycleTakeEndTime ()
void SetupDriverSync (int ref, bool freewheel)
void NotifyXRun (jack_time_t callback_usecs, float delayed_usecs)
void NotifyBufferSize (jack_nframes_t buffer_size)
void NotifySampleRate (jack_nframes_t sample_rate)
void NotifyFailure (int code, const char *reason)
virtual void SaveConnections (int alias)
virtual void LoadConnections (int alias, bool full_name=true)
std::string MatchPortName (const char *name, const char **ports, int alias, const std::string &type)
virtual int StartSlaves ()
virtual int StopSlaves ()
virtual int ResumeRefNum ()
virtual int SuspendRefNum ()

Additional Inherited Members

- Protected Attributes inherited from Jack::JackDriver
char fCaptureDriverName [JACK_CLIENT_NAME_SIZE+1]
char fPlaybackDriverName [JACK_CLIENT_NAME_SIZE+1]
char fAliasName [JACK_CLIENT_NAME_SIZE+1]
jack_nframes_t fCaptureLatency
jack_nframes_t fPlaybackLatency
int fCaptureChannels
int fPlaybackChannels
jack_time_t fBeginDateUst
jack_time_t fEndDateUst
float fDelayedUsecs
JackLockedEnginefEngine
JackGraphManagerfGraphManager
JackSynchrofSynchroTable
JackEngineControlfEngineControl
JackClientControl fClientControl
std::list< JackDriverInterface * > fSlaveList
bool fIsMaster
bool fIsRunning
bool fWithMonitorPorts
jack_port_id_t fCapturePortList [DRIVER_PORT_NUM]
jack_port_id_t fPlaybackPortList [DRIVER_PORT_NUM]
jack_port_id_t fMonitorPortList [DRIVER_PORT_NUM]
driver_connections_list_t fConnections

Detailed Description

The base class for audio drivers: drivers with audio ports.

A concrete derived class will have to be defined with a real audio driver API, either callback based one (like CoreAudio, PortAudio..) ones or blocking ones (like ALSA).

Most of the generic audio handing code is part of this class :

Definition at line 42 of file JackAudioDriver.h.


The documentation for this class was generated from the following files: