summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-10-06 19:10:25 +0200
committerRobin Gareus <robin@gareus.org>2015-10-06 19:10:25 +0200
commitce30132a89a5ec99d3c151d2fb54cf7d074e3f65 (patch)
treeccc69641e01f644eb9a8d2b26c474f89410dc0b4
parent83d8db392542d2f14c513ddd90be91ff4bce1ec4 (diff)
fix initial AFL/PFL state after session-load
-rw-r--r--libs/ardour/route.cc46
1 files changed, 22 insertions, 24 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 3c2027007a..aa7a7ee9f8 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -843,6 +843,8 @@ Route::set_solo (bool yn, void *src)
_solo_control->Changed (); /* EMIT SIGNAL */
}
+ assert (Config->get_solo_control_is_listen_control() || !_monitor_send || !_monitor_send->active());
+
/* XXX TRACKS DEVELOPERS: THIS LOGIC SUGGESTS THAT YOU ARE NOT AWARE OF
Config->get_solo_mute_overrride().
*/
@@ -3682,6 +3684,7 @@ Route::listen_position_changed ()
ProcessorState pstate (this);
if (configure_processors_unlocked (0)) {
+ DEBUG_TRACE (DEBUG::Processors, "---- CONFIGURATION FAILED.\n");
pstate.restore ();
configure_processors_unlocked (0); // it worked before we tried to add it ...
return;
@@ -4548,34 +4551,29 @@ Route::setup_invisible_processors ()
if (_monitor_send && !is_monitor ()) {
assert (!_monitor_send->display_to_user ());
- if (Config->get_solo_control_is_listen_control()) {
- switch (Config->get_listen_position ()) {
- case PreFaderListen:
- switch (Config->get_pfl_position ()) {
- case PFLFromBeforeProcessors:
- new_processors.push_front (_monitor_send);
- break;
- case PFLFromAfterProcessors:
- new_processors.insert (amp, _monitor_send);
- break;
- }
- _monitor_send->set_can_pan (false);
+ switch (Config->get_listen_position ()) {
+ case PreFaderListen:
+ switch (Config->get_pfl_position ()) {
+ case PFLFromBeforeProcessors:
+ new_processors.push_front (_monitor_send);
break;
- case AfterFaderListen:
- switch (Config->get_afl_position ()) {
- case AFLFromBeforeProcessors:
- new_processors.insert (after_amp, _monitor_send);
- break;
- case AFLFromAfterProcessors:
- new_processors.insert (new_processors.end(), _monitor_send);
- break;
- }
- _monitor_send->set_can_pan (true);
+ case PFLFromAfterProcessors:
+ new_processors.insert (amp, _monitor_send);
break;
}
- } else {
- new_processors.insert (new_processors.end(), _monitor_send);
_monitor_send->set_can_pan (false);
+ break;
+ case AfterFaderListen:
+ switch (Config->get_afl_position ()) {
+ case AFLFromBeforeProcessors:
+ new_processors.insert (after_amp, _monitor_send);
+ break;
+ case AFLFromAfterProcessors:
+ new_processors.insert (new_processors.end(), _monitor_send);
+ break;
+ }
+ _monitor_send->set_can_pan (true);
+ break;
}
}