118 const String& inputDeviceName) = 0;
142 void addListener (
Listener* listener);
145 void removeListener (
Listener* listener);
179 void callDeviceChangeListeners();
A class for receiving events when audio devices are inserted or removed.
virtual void audioDeviceListChanged()=0
Called when the list of available audio devices changes.
Represents a type of audio driver, such as DirectSound, ASIO, CoreAudio, etc.
virtual int getDefaultDeviceIndex(bool forInput) const =0
Returns the name of the default device.
static AudioIODeviceType * createAudioIODeviceType_CoreAudio()
Creates a CoreAudio device type if it's available on this platform, or returns null.
virtual bool hasSeparateInputsAndOutputs() const =0
Returns true if two different devices can be used for the input and output.
virtual StringArray getDeviceNames(bool wantInputNames=false) const =0
Returns the list of available devices of this type.
virtual void scanForDevices()=0
Refreshes the object's cached list of known devices.
virtual int getIndexOfDevice(AudioIODevice *device, bool asInput) const =0
Returns the index of a given device in the list of device names.
static AudioIODeviceType * createAudioIODeviceType_iOSAudio()
Creates an iOS device type if it's available on this platform, or returns null.
virtual AudioIODevice * createDevice(const String &outputDeviceName, const String &inputDeviceName)=0
Creates one of the devices of this type.
const String & getTypeName() const noexcept
Returns the name of this type of driver that this object manages.
static AudioIODeviceType * createAudioIODeviceType_Android()
Creates an Android device type if it's available on this platform, or returns null.
Base class for an audio device with synchronised input and output channels.
Holds a set of objects and can invoke a member function callback on each object in the set with a sin...
A special array for holding a list of strings.
#define JUCE_API
This macro is added to all JUCE public class declarations.