00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackAudioAdapter__
00021 #define __JackAudioAdapter__
00022
00023 #include "JackAudioAdapterInterface.h"
00024 #include "driver_interface.h"
00025
00026 namespace Jack
00027 {
00028
00033 class JackAudioAdapter
00034 {
00035 private:
00036
00037 static int Process ( jack_nframes_t, void* arg );
00038 static int BufferSize ( jack_nframes_t buffer_size, void *arg );
00039 static int SampleRate ( jack_nframes_t sample_rate, void *arg );
00040
00041 jack_port_t** fCapturePortList;
00042 jack_port_t** fPlaybackPortList;
00043
00044 jack_client_t* fJackClient;
00045 JackAudioAdapterInterface* fAudioAdapter;
00046 bool fAutoConnect;
00047
00048 void FreePorts();
00049 void ConnectPorts();
00050 void Reset();
00051
00052 public:
00053
00054 JackAudioAdapter(jack_client_t* jack_client, JackAudioAdapterInterface* audio_io, const JSList* params = NULL, bool system = false);
00055 ~JackAudioAdapter();
00056
00057 int Open();
00058 int Close();
00059 };
00060
00061 }
00062
00063 #endif