diff --git a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp index 7dbe010132..a26a3bf49c 100644 --- a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp +++ b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp @@ -1098,12 +1098,19 @@ bool AudioDeviceManager::isMidiInputEnabled (const String& name) const void AudioDeviceManager::addMidiInputCallback (const String& name, MidiInputCallback* callbackToAdd) { - for (auto& device : MidiInput::getAvailableDevices()) + if (name.isEmpty()) { - if (device.name == name) + addMidiInputDeviceCallback ({}, callbackToAdd); + } + else + { + for (auto& device : MidiInput::getAvailableDevices()) { - addMidiInputDeviceCallback (device.identifier, callbackToAdd); - return; + if (device.name == name) + { + addMidiInputDeviceCallback (device.identifier, callbackToAdd); + return; + } } } }