summaryrefslogtreecommitdiff
path: root/libs/ardour/plugin_insert.cc
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2019-08-19 13:19:38 -0500
committerRobin Gareus <robin@gareus.org>2019-08-19 23:28:04 +0200
commit031847f88ef8c266df97f38fccf094fb0c78356e (patch)
treef5e1cde2693a1730ae6f1f46354ab3c6f67e8f69 /libs/ardour/plugin_insert.cc
parent8775087ea6280d4c553be5579e94e8b84e9b3bad (diff)
LV2 extension to override strict-i/o per plugin
This allows mono to stereo plugins to override the default routing and forces both outputs to be connected.
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r--libs/ardour/plugin_insert.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc
index bbd5b0baad..c63066154a 100644
--- a/libs/ardour/plugin_insert.cc
+++ b/libs/ardour/plugin_insert.cc
@@ -112,8 +112,14 @@ PluginInsert::~PluginInsert ()
void
PluginInsert::set_strict_io (bool b)
{
+ if (_plugins.front()->connect_all_audio_outputs ()) {
+ /* Ignore route setting, allow plugin to add/remove ports */
+ b = false;
+ }
+
bool changed = _strict_io != b;
_strict_io = b;
+
if (changed) {
PluginConfigChanged (); /* EMIT SIGNAL */
}