summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_unit.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/audio_unit.cc')
-rw-r--r--libs/ardour/audio_unit.cc8
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 ();
}