summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin_insert.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-03 22:43:57 +0200
committerRobin Gareus <robin@gareus.org>2016-04-03 22:45:23 +0200
commited74d4beff4c38bc1a108060598493c348e23bc5 (patch)
treef554b9a1354fa25d9b14af2f1f4691166b79318c /libs/ardour/ardour/plugin_insert.h
parentdaa10a6a38638da3b9c5e6de615367e44ccf4e4c (diff)
automatically add & connect sidechain plugin pins.
This will affect old sessions that use LV2 plugins with ports marked as side-chain input. Those ports are no longer connected by default to the route's input.
Diffstat (limited to 'libs/ardour/ardour/plugin_insert.h')
-rw-r--r--libs/ardour/ardour/plugin_insert.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h
index db7f0bc3be..20e131644c 100644
--- a/libs/ardour/ardour/plugin_insert.h
+++ b/libs/ardour/ardour/plugin_insert.h
@@ -28,6 +28,7 @@
#include "ardour/ardour.h"
#include "ardour/libardour_visibility.h"
#include "ardour/chan_mapping.h"
+#include "ardour/io.h"
#include "ardour/types.h"
#include "ardour/parameter_descriptor.h"
#include "ardour/processor.h"
@@ -109,6 +110,18 @@ class LIBARDOUR_API PluginInsert : public Processor
ChanCount natural_output_streams() const;
ChanCount natural_input_streams() const;
+ /** plugin ports marked as sidechain */
+ ChanCount sidechain_input_pins() const;
+
+ /** Plugin-Insert IO sidechain ports */
+ ChanCount sidechain_input_ports() const {
+ if (_sidechain) {
+ return _sidechain->input ()->n_ports ();
+ } else {
+ return ChanCount ();
+ }
+ }
+
// allow to override output_streams(), implies "Custom Mode"
// only the owning route may call these (with process lock held)
@@ -275,6 +288,7 @@ class LIBARDOUR_API PluginInsert : public Processor
ChanCount _configured_internal; // with side-chain
ChanCount _configured_out;
ChanCount _custom_out;
+ ChanCount _cached_sidechain_pins;
bool _configured;
bool _no_inplace;