25 #ifndef JUCE_AUDIODEVICEMANAGER_H_INCLUDED
26 #define JUCE_AUDIODEVICEMANAGER_H_INCLUDED
101 bool operator== (
const AudioDeviceSetup& other)
const;
189 String initialise (
int numInputChannelsNeeded,
190 int numOutputChannelsNeeded,
192 bool selectDefaultDeviceOnFailure,
197 String initialiseWithDefaultDevices (
int numInputChannelsNeeded,
198 int numOutputChannelsNeeded);
236 bool treatAsChosenDevice);
260 void setCurrentAudioDeviceType (
const String& type,
261 bool treatAsChosenDevice);
267 void closeAudioDevice();
277 void restartLastAudioDevice();
308 double getCpuUsage()
const;
330 void setMidiInputEnabled (
const String& midiInputDeviceName,
bool enabled);
335 bool isMidiInputEnabled (
const String& midiInputDeviceName)
const;
347 void addMidiInputCallback (
const String& midiInputDeviceName,
351 void removeMidiInputCallback (
const String& midiInputDeviceName,
367 void setDefaultMidiOutput (
const String& deviceName);
405 void playTestSound();
420 void enableInputLevelMeasurement (
bool enableMeasurement);
426 double getCurrentInputLevel()
const;
445 AudioDeviceSetup currentSetup;
448 int numInputChansNeeded, numOutputChansNeeded;
452 mutable bool listNeedsScanning;
456 int testSoundPosition;
459 struct MidiCallbackInfo
469 String defaultMidiOutputName;
473 double cpuUsageMs, timeToCpuScale;
481 void audioDeviceIOCallbackInt (
const float** inputChannelData,
int totalNumInputChannels,
482 float** outputChannelData,
int totalNumOutputChannels,
int numSamples);
484 void audioDeviceStoppedInt();
485 void audioDeviceErrorInt (
const String&);
487 void audioDeviceListChanged();
489 String restartDevice (
int blockSizeToUse,
double sampleRateToUse,
495 void createDeviceTypesIfNeeded();
496 void scanDevicesIfNeeded();
497 void deleteCurrentDevice();
498 double chooseBestSampleRate (
double preferred)
const;
499 int chooseBestBufferSize (
int preferred)
const;
502 String initialiseFromXML (
const XmlElement&,
bool selectDefaultDeviceOnFailure,
511 #endif // JUCE_AUDIODEVICEMANAGER_H_INCLUDED
Definition: juce_AudioSampleBuffer.h:34
Definition: juce_BigInteger.h:43
BigInteger inputChannels
Definition: juce_AudioDeviceManager.h:135
const String & getDefaultMidiOutputName() const noexcept
Definition: juce_AudioDeviceManager.h:372
Definition: juce_AudioIODevice.h:42
#define noexcept
Definition: juce_CompilerSupport.h:141
Definition: juce_Atomic.h:41
Definition: juce_AudioDeviceManager.cpp:46
BigInteger outputChannels
Definition: juce_AudioDeviceManager.h:148
Definition: juce_String.h:43
Definition: juce_MidiOutput.h:38
Definition: juce_ChangeBroadcaster.h:35
String outputDeviceName
Definition: juce_AudioDeviceManager.h:109
#define JUCE_API
Definition: juce_StandardHeader.h:139
Definition: juce_AudioDeviceManager.h:67
String getCurrentAudioDeviceType() const
Definition: juce_AudioDeviceManager.h:245
int bufferSize
Definition: juce_AudioDeviceManager.h:128
Definition: juce_CriticalSection.h:47
String inputDeviceName
Definition: juce_AudioDeviceManager.h:115
Definition: juce_XmlElement.h:142
CriticalSection & getMidiCallbackLock() noexcept
Definition: juce_AudioDeviceManager.h:438
MidiOutput * getDefaultMidiOutput() const noexcept
Definition: juce_AudioDeviceManager.h:378
double sampleRate
Definition: juce_AudioDeviceManager.h:122
bool useDefaultInputChannels
Definition: juce_AudioDeviceManager.h:141
Definition: juce_StringArray.h:39
bool operator==(const var &v1, const var &v2) noexcept
Definition: juce_Variant.cpp:565
Definition: juce_ContainerDeletePolicy.h:44
Definition: juce_AudioIODeviceType.h:62
CriticalSection & getAudioCallbackLock() noexcept
Definition: juce_AudioDeviceManager.h:432
AudioIODevice * getCurrentAudioDevice() const noexcept
Definition: juce_AudioDeviceManager.h:240
Definition: juce_MidiMessage.h:35
bool useDefaultOutputChannels
Definition: juce_AudioDeviceManager.h:154
Definition: juce_AudioIODevice.h:132
Definition: juce_AudioDeviceManager.h:91