39 #ifndef __JACKAUDIOINTERFACE_H__ 40 #define __JACKAUDIOINTERFACE_H__ 45 #include <jack/jack.h> 48 #include <QVarLengthArray> 76 int NumInChans,
int NumOutChans,
78 const char* ClientName =
"JackTrip");
99 { mClientName = ClientName; }
101 { std::cout <<
"WARING: Setting the Sample Rate in Jack mode has no effect." << std::endl; }
103 { std::cout <<
"WARING: Setting the Sample Rate in Jack mode has no effect." << std::endl; }
130 void createChannels();
134 static void jackShutdown(
void*);
138 void setProcessCallback();
149 int processCallback(jack_nframes_t nframes);
162 static int wrapperProcessCallback(jack_nframes_t nframes,
void *arg) ;
170 jack_client_t* mClient;
171 const char* mClientName;
172 QVarLengthArray<jack_port_t*> mInPorts;
173 QVarLengthArray<jack_port_t*> mOutPorts;
174 QVarLengthArray<sample_t*> mInBuffer;
175 QVarLengthArray<sample_t*> mOutBuffer;
176 size_t mSizeInBytesPerChannel;
177 QVector<ProcessPlugin*> mProcessPlugins;
179 static QMutex sJackMutex;
virtual void setBufferSizeInSamples(uint32_t)
Definition: JackAudioInterface.h:102
virtual int startProcess() const
Tell the JACK server that we are ready to roll. The process-callback will start running. This runs on its own thread.
Definition: JackAudioInterface.cpp:212
audioBitResolutionT
Enum for Audio Resolution in bits.
Definition: AudioInterface.h:61
Base Class that provides an interface with audio.
Definition: AudioInterface.h:56
virtual void setClientName(const char *ClientName)
Set Client Name to something different that the default (JackTrip)
Definition: JackAudioInterface.h:98
virtual ~JackAudioInterface()
The class destructor.
Definition: JackAudioInterface.cpp:81
Class that provides an interface with the Jack Audio Server.
Definition: JackAudioInterface.h:64
quint32 uint32_t
Typedef for unsigned int. This type is guaranteed to be 32-bit.
Definition: jacktrip_types.h:73
16 bits (default)
Definition: AudioInterface.h:63
JackAudioInterface(JackTrip *jacktrip, int NumInChans, int NumOutChans, AudioInterface::audioBitResolutionT AudioBitResolution=AudioInterface::BIT16, const char *ClientName="JackTrip")
The class constructor.
Definition: JackAudioInterface.cpp:64
virtual int getAudioBitResolution() const
Get the Audio Bit Resolution, in bits.
Definition: AudioInterface.h:178
virtual uint32_t getBufferSizeInBytes() const
Get the Jack Server Buffer Size, in bytes.
Definition: JackAudioInterface.h:112
virtual uint32_t getSampleRate() const
Get the Jack Server Sampling Rate, in samples/second.
Definition: JackAudioInterface.cpp:172
virtual uint32_t getBufferSizeInSamples() const
Get the Jack Server Buffer Size, in samples.
Definition: JackAudioInterface.cpp:179
virtual void setSampleRate(uint32_t)
Definition: JackAudioInterface.h:100
virtual int stopProcess() const
Stops the process-callback thread.
Definition: JackAudioInterface.cpp:226
Main class to creates a SERVER (to listen) or a CLIENT (to connect to a listening server) to send aud...
Definition: JackTrip.h:67
virtual size_t getSizeInBytesPerChannel() const
Get size of each audio per channel, in bytes.
Definition: JackAudioInterface.cpp:186
virtual void setup()
Setup the client.
Definition: JackAudioInterface.cpp:86
void connectDefaultPorts()
Connect the default ports, capture to sends, and receives to playback.
Definition: JackAudioInterface.cpp:284