diff options
Diffstat (limited to 'libs/ardour/audio_unit.cc')
-rw-r--r-- | libs/ardour/audio_unit.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc index 3b1c60a0c2..3c42303680 100644 --- a/libs/ardour/audio_unit.cc +++ b/libs/ardour/audio_unit.cc @@ -2679,6 +2679,8 @@ AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescrip continue; } + bool has_midi_in = false; + AUPluginInfoPtr info (new AUPluginInfo (boost::shared_ptr<CAComponentDescription> (new CAComponentDescription(temp)))); @@ -2703,9 +2705,11 @@ AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescrip break; case kAudioUnitType_MusicDevice: info->category = _("AudioUnit Instruments"); + has_midi_in = true; break; case kAudioUnitType_MusicEffect: info->category = _("AudioUnit MusicEffects"); + has_midi_in = true; break; case kAudioUnitType_Effect: info->category = _("AudioUnit Effects"); @@ -2772,6 +2776,8 @@ AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescrip info->n_inputs.set (DataType::AUDIO, 1); } + info->n_inputs.set (DataType::MIDI, has_midi_in ? 1 ; 0); + if (possible_out > 0) { info->n_outputs.set (DataType::AUDIO, possible_out); } else { @@ -3046,7 +3052,7 @@ AUPluginInfo::stringify_descriptor (const CAComponentDescription& desc) } bool -AUPluginInfo::needs_midi_input () +AUPluginInfo::needs_midi_input () const { return is_effect_with_midi_input () || is_instrument (); } |