summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin_insert.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-07 18:24:00 +0200
committerRobin Gareus <robin@gareus.org>2016-04-07 18:24:00 +0200
commit18713b7d1fc4a1fcec0a60f2c80a327b50b9c529 (patch)
treeac8e51b7298f3ed9e8dec0f70b9911e64950091f /libs/ardour/ardour/plugin_insert.h
parente714b7719e995e41a897a77fa0ff054f24e8687a (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.h10
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);