summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-01-19 18:32:45 +0100
committerRobin Gareus <robin@gareus.org>2017-01-19 18:32:45 +0100
commitdc11651694b97b5a4c7e3b57ca7cd5c019714166 (patch)
tree1f4e935b7c178ed20241fbe09fdad3f07b5ff628 /libs
parent92115dc3ea57ae7103da419c61257b98fd4dcf8d (diff)
Relax monitor-section processor channel restriction
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/route.cc20
1 files changed, 14 insertions, 6 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 7cb47c2076..4fa9eadff7 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -1663,13 +1663,21 @@ Route::try_configure_processors_unlocked (ChanCount in, ProcessorStreams* err)
if (is_monitor()) {
// restriction for Monitor Section Processors
if (in.n_audio() != out.n_audio() || out.n_midi() > 0) {
- /* do not allow to add/remove channels (for now)
- * The Monitor follows the master-bus and has no panner (unpan)
- * but do allow processors with midi-in to be added (e.g VSTs with control that
- * will remain unconnected)
+ /* Note: The Monitor follows the master-bus and has no panner.
+ *
+ * The general idea is to only allow plugins that retain the channel-count
+ * and plugins with MIDI in (e.g VSTs with control that will remain unconnected).
+ * Then again 5.1 in, monitor stereo is a valid use-case.
+ *
+ * and worse: we only refuse adding plugins *here*.
+ *
+ * 1) stereo-master, stereo-mon, add a stereo-plugin, OK
+ * 2) change master-bus, add a channel
+ * 2a) monitor-secion follows
+ * 3) monitor processors fail to re-reconfigure (stereo plugin)
+ * 4) re-load session, monitor-processor remains unconfigured, crash.
*/
- DEBUG_TRACE (DEBUG::Processors, "Monitor: Channel configuration not allowed.\n");
- return list<pair<ChanCount, ChanCount> > ();
+ DEBUG_TRACE (DEBUG::Processors, "Monitor: Channel configuration change.\n");
}
if (boost::dynamic_pointer_cast<InternalSend> (*p)) {
// internal sends make no sense, only feedback