Go to the documentation of this file.
38 #ifndef __AUDIOINTERFACE_H__
39 #define __AUDIOINTERFACE_H__
44 #include <QVarLengthArray>
87 int NumInChans,
int NumOutChans,
100 virtual void setup();
115 virtual void callback(QVarLengthArray<sample_t*>& in_buffer,
116 QVarLengthArray<sample_t*>& out_buffer,
117 unsigned int n_frames);
149 { mNumInChans = nchannels; }
151 { mNumOutChans = nchannels; }
153 { mSampleRate = sample_rate; }
155 { mBufferSizeInSamples = buf_size; }
166 {
return mBufferSizeInSamples; }
170 {
return mSampleRate; }
191 void computeProcessFromNetwork(QVarLengthArray<sample_t*>& out_buffer,
192 unsigned int n_frames);
194 void computeProcessToNetwork(QVarLengthArray<sample_t*>& in_buffer,
195 unsigned int n_frames);
200 int mAudioBitResolution;
204 size_t mSizeInBytesPerChannel;
205 QVector<ProcessPlugin*> mProcessPlugins;
206 QVarLengthArray<sample_t*> mInProcessBuffer;
207 QVarLengthArray<sample_t*> mOutProcessBuffer;
212 #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:164
virtual samplingRateT getSampleRateType() const
Get the Jack Server Sampling Rate Enum Type samplingRateT.
Definition: AudioInterface.cpp:333
virtual ~AudioInterface()
The class destructor.
Definition: AudioInterface.cpp:67
Main class to creates a SERVER (to listen) or a CLIENT (to connect to a listening server) to send aud...
Definition: JackTrip.h:67
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:283
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:233
virtual void setNumOutputChannels(int nchannels)
Definition: AudioInterface.h:150
virtual void setNumInputChannels(int nchannels)
Definition: AudioInterface.h:148
virtual void setBufferSizeInSamples(uint32_t buf_size)
Definition: AudioInterface.h:154
@ 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:117
Interface for the process plugins to add to the JACK callback process in JackAudioInterface.
Definition: ProcessPlugin.h:52
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:324
float sample_t
Audio sample type.
Definition: jacktrip_types.h:56
virtual int getNumInputChannels() const
Get Number of Input Channels.
Definition: AudioInterface.h:162
@ 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:165
virtual size_t getSizeInBytesPerChannel() const
Definition: AudioInterface.cpp:110
static int getSampleRateFromType(samplingRateT rate_type)
Helper function to get the sample rate (in Hz) for a JackAudioInterface::samplingRateT.
Definition: AudioInterface.cpp:356
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:178
@ 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
Base Class that provides an interface with audio.
Definition: AudioInterface.h:56
virtual void setSampleRate(uint32_t sample_rate)
Definition: AudioInterface.h:152
virtual void setup()
Setup the client. This function should be called just before.
Definition: AudioInterface.cpp:82
virtual uint32_t getSampleRate() const
Get the Jack Server Sampling Rate, in samples/second.
Definition: AudioInterface.h:169
virtual void connectDefaultPorts()=0