100 virtual void audioDeviceIOCallbackWithContext (
const float*
const* inputChannelData,
101 int numInputChannels,
102 float*
const* outputChannelData,
103 int numOutputChannels,
130 virtual void audioDeviceError (
const String& errorMessage);
227 int bufferSizeSamples) = 0;
319 virtual bool hasControlPanel()
const;
325 virtual bool showControlPanel();
331 virtual bool setAudioPreprocessingEnabled (
bool shouldBeEnabled);
344 virtual int getXRunCount() const noexcept;
Holds a resizable array of primitive or copy-by-value objects.
One of these is passed to an AudioIODevice object to stream the audio data in and out.
virtual ~AudioIODeviceCallback()=default
Destructor.
virtual void audioDeviceAboutToStart(AudioIODevice *device)=0
Called to indicate that the device is about to start calling back.
virtual void audioDeviceStopped()=0
Called to indicate that the device has stopped.
Base class for an audio device with synchronised input and output channels.
virtual double getCurrentSampleRate()=0
Returns the sample rate that the device is currently using.
virtual int getCurrentBitDepth()=0
Returns the device's current physical bit-depth.
virtual void close()=0
Closes and releases the device if it's open.
virtual bool isPlaying()=0
Returns true if the device is still calling back.
const String & getTypeName() const noexcept
Returns the type of the device.
virtual StringArray getOutputChannelNames()=0
Returns the names of all the available output channels on this device.
virtual StringArray getInputChannelNames()=0
Returns the names of all the available input channels on this device.
virtual std::optional< BigInteger > getDefaultInputChannels() const
For devices that support a default layout, returns the channels that are enabled in the default layou...
virtual Array< int > getAvailableBufferSizes()=0
Returns the set of buffer sizes that are available.
virtual AudioWorkgroup getWorkgroup() const
Returns the workgroup for this device.
virtual std::optional< BigInteger > getDefaultOutputChannels() const
For devices that support a default layout, returns the channels that are enabled in the default layou...
virtual BigInteger getActiveInputChannels() const =0
Returns a mask showing which of the available input channels are currently enabled.
virtual void stop()=0
Stops the device playing.
virtual BigInteger getActiveOutputChannels() const =0
Returns a mask showing which of the available output channels are currently enabled.
virtual Array< double > getAvailableSampleRates()=0
Returns the set of sample-rates this device supports.
virtual int getInputLatencyInSamples()=0
Returns the device's input latency.
virtual int getCurrentBufferSizeSamples()=0
Returns the buffer size that the device is currently using.
const String & getName() const noexcept
Returns the device's name, (as set in the constructor).
virtual int getDefaultBufferSize()=0
Returns the default buffer-size to use.
virtual void start(AudioIODeviceCallback *callback)=0
Starts the device actually playing.
virtual String getLastError()=0
Returns the last error that happened if anything went wrong.
virtual String open(const BigInteger &inputChannels, const BigInteger &outputChannels, double sampleRate, int bufferSizeSamples)=0
Tries to open the device ready to play.
virtual int getOutputLatencyInSamples()=0
Returns the device's output latency.
virtual bool isOpen()=0
Returns true if the device is still open.
A handle to an audio workgroup, which is a collection of realtime threads working together to produce...
An arbitrarily large integer class.
A special array for holding a list of strings.
const uint64_t * hostTimeNs
If the host provides this information, this field will be set to point to an integer holding the curr...
Additional information that may be passed to the AudioIODeviceCallback.