diff options
author | Robin Gareus <robin@gareus.org> | 2013-08-02 03:39:00 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-08-02 03:39:00 +0200 |
commit | bfd50cdeb0416b106a7813177148dffb1af6db8e (patch) | |
tree | a9c8160d3dec435f72c5e241645623bd2f98db3f /libs/ardour/ardour/plugin_insert.h | |
parent | 28f3d76e7cd66a2b62b51eb640235cc3952da3e2 (diff) |
rework MIDI [processor|plugin] chain
* forward midi-data around plugins that have no MIDI-out
* allow to insert plugins with no MIDI-input at a point with one MIDI-channel
This works because excess ports (both plugin and route) remain
unconnected and use scratch-buffers.
Tested with LV2, LXVST and LADSPA.
(AU plugins with variable in/out retain the old behavior, no bypass)
fixes http://tracker.ardour.org/view.php?id=5630
Diffstat (limited to 'libs/ardour/ardour/plugin_insert.h')
-rw-r--r-- | libs/ardour/ardour/plugin_insert.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h index d80c759cff..a1b9c5a685 100644 --- a/libs/ardour/ardour/plugin_insert.h +++ b/libs/ardour/ardour/plugin_insert.h @@ -69,7 +69,7 @@ class PluginInsert : public Processor bool set_count (uint32_t num); uint32_t get_count () const { return _plugins.size(); } - bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const; + bool can_support_io_configuration (const ChanCount& in, ChanCount& out); bool configure_io (ChanCount in, ChanCount out); bool has_no_inputs() const; @@ -160,6 +160,8 @@ class PluginInsert : public Processor BufferSet _signal_analysis_inputs; BufferSet _signal_analysis_outputs; + ChanCount midi_bypass; + /** Description of how we can match our plugin's IO to our own insert IO */ struct Match { Match () : method (Impossible), plugins (0) {} @@ -170,7 +172,7 @@ class PluginInsert : public Processor ChanCount hide; ///< number of channels to hide }; - Match private_can_support_io_configuration (ChanCount const &, ChanCount &) const; + Match private_can_support_io_configuration (ChanCount const &, ChanCount &); /** details of the match currently being used */ Match _match; |