diff options
author | Robin Gareus <robin@gareus.org> | 2016-10-07 20:55:21 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-10-07 20:55:21 +0200 |
commit | 97111b0ec2dd79d4fb4938f3c66cb86c59e7990d (patch) | |
tree | 7bf729073848ddeaae89a9a4de614f2e481609f6 /libs/ardour/plugin_insert.cc | |
parent | b497bb9db42a4a7087168e4a153780d702d262de (diff) |
Clean up is_instrument vs needs-midi-in API
The latter is only really relevant for Audio Units.
This fixes an issue with vocoders or audio-plugins that simply have
a MIDI input for other purposes to be wrongly categorized as Instruments..
.. and thereby override strict-i/o rules (prefer stereo)
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r-- | libs/ardour/plugin_insert.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index 7b3aa60ba4..c3dae8b71f 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -394,13 +394,13 @@ PluginInsert::plugin_latency () const { } bool -PluginInsert::needs_midi_input() const +PluginInsert::is_instrument() const { PluginInfoPtr pip = _plugins[0]->get_info(); - if (pip->needs_midi_input ()) { + if (pip->is_instrument ()) { return true; } - return pip->n_inputs.n_midi() != 0 && pip->n_outputs.n_audio() != 0; + return pip->n_inputs.n_midi () != 0 && pip->n_outputs.n_audio () > 0 && pip->n_inputs.n_audio () == 0; } bool @@ -426,7 +426,7 @@ PluginInsert::has_output_presets (ChanCount in, ChanCount out) return false; } } - if (!needs_midi_input ()) { + if (!is_instrument ()) { return false; } return true; @@ -1994,7 +1994,7 @@ PluginInsert::internal_can_support_io_configuration (ChanCount const & inx, Chan m.strict_io = true; /* special case MIDI instruments */ - if (needs_midi_input ()) { + if (is_instrument ()) { // output = midi-bypass + at most master-out channels. ChanCount max_out (DataType::AUDIO, 2); // TODO use master-out max_out.set (DataType::MIDI, out.get(DataType::MIDI)); |