Go to the documentation of this file.
39 #ifndef __JACKAUDIOINTERFACE_H__
40 #define __JACKAUDIOINTERFACE_H__
45 #include <jack/jack.h>
48 #include <QVarLengthArray>
76 int NumInChans,
int NumOutChans,
81 const char* ClientName =
"JackTrip");
102 { mClientName = ClientName; }
104 { std::cout <<
"WARNING: Setting the Sample Rate in Jack mode has no effect." << std::endl; }
106 { std::cout <<
"WARNING: Setting the Sample Rate in Jack mode has no effect." << std::endl; }
133 void createChannels();
137 static void jackShutdown(
void*);
141 void setProcessCallback();
152 int processCallback(jack_nframes_t nframes);
165 static int wrapperProcessCallback(jack_nframes_t nframes,
void *arg) ;
176 jack_client_t* mClient;
178 QVarLengthArray<jack_port_t*> mInPorts;
179 QVarLengthArray<jack_port_t*> mOutPorts;
180 QVarLengthArray<sample_t*> mInBuffer;
181 QVarLengthArray<sample_t*> mOutBuffer;
182 size_t mSizeInBytesPerChannel;
183 QVector<ProcessPlugin*> mProcessPlugins;
185 static QMutex sJackMutex;
virtual uint32_t getBufferSizeInSamples() const
Get the Jack Server Buffer Size, in samples.
Definition: JackAudioInterface.cpp:212
Class that provides an interface with the Jack Audio Server.
Definition: JackAudioInterface.h:65
virtual uint32_t getSampleRate() const
Get the Jack Server Sampling Rate, in samples/second.
Definition: JackAudioInterface.cpp:205
virtual int startProcess() const
Tell the JACK server that we are ready to roll. The process-callback will start running....
Definition: JackAudioInterface.cpp:245
Main class to creates a SERVER (to listen) or a CLIENT (to connect to a listening server) to send aud...
Definition: JackTrip.h:68
JackAudioInterface(JackTrip *jacktrip, int NumInChans, int NumOutChans, AudioInterface::audioBitResolutionT AudioBitResolution=AudioInterface::BIT16, const char *ClientName="JackTrip")
The class constructor.
Definition: JackAudioInterface.cpp:63
virtual void setSampleRate(uint32_t)
Definition: JackAudioInterface.h:103
virtual void setup()
Setup the client.
Definition: JackAudioInterface.cpp:94
audioBitResolutionT
Enum for Audio Resolution in bits.
Definition: AudioInterface.h:61
void connectDefaultPorts()
Connect the default ports, capture to sends, and receives to playback.
Definition: JackAudioInterface.cpp:317
virtual uint32_t getBufferSizeInBytes() const
Get the Jack Server Buffer Size, in bytes.
Definition: JackAudioInterface.h:115
quint32 uint32_t
Typedef for unsigned int. This type is guaranteed to be 32-bit.
Definition: jacktrip_types.h:73
virtual int getAudioBitResolution() const
Get the Audio Bit Resolution, in bits.
Definition: AudioInterface.h:185
@ BIT16
16 bits (default)
Definition: AudioInterface.h:63
virtual ~JackAudioInterface()
The class destructor.
Definition: JackAudioInterface.cpp:89
virtual size_t getSizeInBytesPerChannel() const
Get size of each audio per channel, in bytes.
Definition: JackAudioInterface.cpp:219
virtual int stopProcess() const
Stops the process-callback thread.
Definition: JackAudioInterface.cpp:259
Base Class that provides an interface with audio.
Definition: AudioInterface.h:57
virtual void setBufferSizeInSamples(uint32_t)
Definition: JackAudioInterface.h:105
virtual void setClientName(QString ClientName)
Set Client Name to something different that the default (JackTrip)
Definition: JackAudioInterface.h:101