Go to the documentation of this file.
38 #ifndef __AUDIOINTERFACE_H__
39 #define __AUDIOINTERFACE_H__
44 #include <QVarLengthArray>
87 int NumInChans,
int NumOutChans,
103 virtual void setup();
118 virtual void callback(QVarLengthArray<sample_t*>& in_buffer,
119 QVarLengthArray<sample_t*>& out_buffer,
120 unsigned int n_frames);
152 { mNumInChans = nchannels; }
154 { mNumOutChans = nchannels; }
156 { mSampleRate = sample_rate; }
158 { mDeviceID = device_id; }
160 { mBufferSizeInSamples = buf_size; }
171 {
return mBufferSizeInSamples; }
173 {
return mDeviceID; }
177 {
return mSampleRate; }
198 void computeProcessFromNetwork(QVarLengthArray<sample_t*>& out_buffer,
199 unsigned int n_frames);
201 void computeProcessToNetwork(QVarLengthArray<sample_t*>& in_buffer,
202 unsigned int n_frames);
209 QVarLengthArray<sample_t*> mNetInBuffer;
210 QVarLengthArray<sample_t*> mAPInBuffer;
212 int mAudioBitResolution;
217 size_t mSizeInBytesPerChannel;
218 QVector<ProcessPlugin*> mProcessPlugins;
219 QVarLengthArray<sample_t*> mInProcessBuffer;
220 QVarLengthArray<sample_t*> mOutProcessBuffer;
225 #endif // __AUDIOINTERFACE_H__
@ SR192
192000 Hz
Definition: AudioInterface.h:76
@ UNDEF
Undefined.
Definition: AudioInterface.h:77
@ SR48
48000 Hz
Definition: AudioInterface.h:73
virtual int getNumOutputChannels() const
Get Number of Output Channels.
Definition: AudioInterface.h:169
virtual samplingRateT getSampleRateType() const
Get the Jack Server Sampling Rate Enum Type samplingRateT.
Definition: AudioInterface.cpp:544
virtual uint32_t getDeviceID() const
Definition: AudioInterface.h:172
virtual ~AudioInterface()
The class destructor.
Definition: AudioInterface.cpp:92
Main class to creates a SERVER (to listen) or a CLIENT (to connect to a listening server) to send aud...
Definition: JackTrip.h:68
qint8 int8_t
Typedef for unsigned long long int. This type is guaranteed to be 64-bit.
Definition: jacktrip_types.h:78
@ SR96
96000 Hz
Definition: AudioInterface.h:75
@ SR44
44100 Hz
Definition: AudioInterface.h:72
AudioInterface(JackTrip *jacktrip, int NumInChans, int NumOutChans, AudioInterface::audioBitResolutionT AudioBitResolution=AudioInterface::BIT16)
The class constructor.
Definition: AudioInterface.cpp:46
static void fromBitToSampleConversion(const int8_t *const input, sample_t *output, const AudioInterface::audioBitResolutionT sourceBitResolution)
Convert a audioBitResolutionT bit resolution number into a 32bit number (sample_t)
Definition: AudioInterface.cpp:494
static void fromSampleToBitConversion(const sample_t *const input, int8_t *output, const AudioInterface::audioBitResolutionT targetBitResolution)
Convert a 32bit number (sample_t) into one of the bit resolution supported (audioBitResolutionT).
Definition: AudioInterface.cpp:444
virtual void setNumOutputChannels(int nchannels)
Definition: AudioInterface.h:153
virtual void setNumInputChannels(int nchannels)
Definition: AudioInterface.h:151
virtual void setBufferSizeInSamples(uint32_t buf_size)
Definition: AudioInterface.h:159
@ SR88
88200 Hz
Definition: AudioInterface.h:74
@ BIT24
24 bits
Definition: AudioInterface.h:64
virtual void setClientName(const char *ClientName)=0
Set Client Name to something different that the default (JackTrip)
virtual void callback(QVarLengthArray< sample_t * > &in_buffer, QVarLengthArray< sample_t * > &out_buffer, unsigned int n_frames)
Process callback. Subclass should call this callback after obtaining the in_buffer and out_buffer poi...
Definition: AudioInterface.cpp:201
Interface for the process plugins to add to the JACK callback process in JackAudioInterface.
Definition: ProcessPlugin.h:53
virtual void appendProcessPlugin(ProcessPlugin *plugin)
Append a ProcessPlugin. The order of processing is determined by the order by which appending is done...
Definition: AudioInterface.cpp:535
float sample_t
Audio sample type.
Definition: jacktrip_types.h:56
virtual int getNumInputChannels() const
Get Number of Input Channels.
Definition: AudioInterface.h:167
@ BIT8
8 bits
Definition: AudioInterface.h:62
@ BIT32
32 bits
Definition: AudioInterface.h:65
audioBitResolutionT
Enum for Audio Resolution in bits.
Definition: AudioInterface.h:61
virtual uint32_t getBufferSizeInSamples() const
Definition: AudioInterface.h:170
virtual size_t getSizeInBytesPerChannel() const
Definition: AudioInterface.cpp:194
static int getSampleRateFromType(samplingRateT rate_type)
Helper function to get the sample rate (in Hz) for a JackAudioInterface::samplingRateT.
Definition: AudioInterface.cpp:567
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
samplingRateT
Sampling Rates supported by JACK.
Definition: AudioInterface.h:69
virtual int startProcess() const =0
Tell the audio server that we are ready to roll. The process-callback will start running....
@ SR22
22050 Hz
Definition: AudioInterface.h:70
virtual int stopProcess() const =0
Stops the process-callback thread.
@ SR32
32000 Hz
Definition: AudioInterface.h:71
virtual void setDeviceID(uint32_t device_id)
Definition: AudioInterface.h:157
Base Class that provides an interface with audio.
Definition: AudioInterface.h:57
virtual void setSampleRate(uint32_t sample_rate)
Definition: AudioInterface.h:155
virtual void setup()
Setup the client. This function should be called just before.
Definition: AudioInterface.cpp:122
virtual uint32_t getSampleRate() const
Get the Jack Server Sampling Rate, in samples/second.
Definition: AudioInterface.h:176
virtual void connectDefaultPorts()=0