diff options
author | Robin Gareus <robin@gareus.org> | 2016-04-07 18:24:00 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-04-07 18:24:00 +0200 |
commit | 18713b7d1fc4a1fcec0a60f2c80a327b50b9c529 (patch) | |
tree | ac8e51b7298f3ed9e8dec0f70b9911e64950091f /libs/ardour/ardour/plugin_insert.h | |
parent | e714b7719e995e41a897a77fa0ff054f24e8687a (diff) |
add support for plugin bypass/thru connections
TODO: remove midi-bypass special case (backwards compatible)
Diffstat (limited to 'libs/ardour/ardour/plugin_insert.h')
-rw-r--r-- | libs/ardour/ardour/plugin_insert.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h index 0053f714dc..2064696800 100644 --- a/libs/ardour/ardour/plugin_insert.h +++ b/libs/ardour/ardour/plugin_insert.h @@ -87,8 +87,12 @@ class LIBARDOUR_API PluginInsert : public Processor } } - ChanMapping input_map () const; - ChanMapping output_map () const; + ChanMapping thru_map () const { + return _thru_map; + } + + ChanMapping input_map () const; ///< combined (all instances) input map + ChanMapping output_map () const; ///< combined (all instances) output map bool has_midi_bypass () const; bool has_midi_thru () const; @@ -98,6 +102,7 @@ class LIBARDOUR_API PluginInsert : public Processor void set_input_map (uint32_t, ChanMapping); void set_output_map (uint32_t, ChanMapping); + void set_thru_map (ChanMapping); bool reset_map (bool emit = true); bool sanitize_maps (); bool check_inplace (); @@ -312,6 +317,7 @@ class LIBARDOUR_API PluginInsert : public Processor typedef std::map <uint32_t, ARDOUR::ChanMapping> PinMappings; PinMappings _in_map; PinMappings _out_map; + ChanMapping _thru_map; // out-idx <= in-idx void automation_run (BufferSet& bufs, framepos_t start, pframes_t nframes); void connect_and_run (BufferSet& bufs, pframes_t nframes, framecnt_t offset, bool with_auto, framepos_t now = 0); |