Fix AFL position
* update AFL position when preference changes * "after post-fader processors (before pan)" is before the main-out (not at the end). * Fix "immediately post-fader": The amp, when added was the last element. ++after_end then made the iterator point to .end() This likely worked in the past when the monitor send was added immediately after adding the fader/amp before any other processors.
This commit is contained in:
parent
1f14a9d9a5
commit
00150e105c
@ -4845,10 +4845,6 @@ Route::setup_invisible_processors ()
|
|||||||
amp = find (new_processors.begin(), new_processors.end(), _amp);
|
amp = find (new_processors.begin(), new_processors.end(), _amp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* and the processor after the amp */
|
|
||||||
|
|
||||||
ProcessorList::iterator after_amp = amp;
|
|
||||||
++after_amp;
|
|
||||||
|
|
||||||
/* Pre-fader METER */
|
/* Pre-fader METER */
|
||||||
|
|
||||||
@ -4865,7 +4861,6 @@ Route::setup_invisible_processors ()
|
|||||||
new_processors.push_back (_main_outs);
|
new_processors.push_back (_main_outs);
|
||||||
|
|
||||||
/* iterator for the main outs */
|
/* iterator for the main outs */
|
||||||
|
|
||||||
ProcessorList::iterator main = new_processors.end();
|
ProcessorList::iterator main = new_processors.end();
|
||||||
--main;
|
--main;
|
||||||
|
|
||||||
@ -4873,11 +4868,8 @@ Route::setup_invisible_processors ()
|
|||||||
|
|
||||||
if (_meter && (_meter_point == MeterOutput || _meter_point == MeterPostFader)) {
|
if (_meter && (_meter_point == MeterOutput || _meter_point == MeterPostFader)) {
|
||||||
assert (!_meter->display_to_user ());
|
assert (!_meter->display_to_user ());
|
||||||
|
|
||||||
/* add the processor just before or just after the main outs */
|
/* add the processor just before or just after the main outs */
|
||||||
|
|
||||||
ProcessorList::iterator meter_point = main;
|
ProcessorList::iterator meter_point = main;
|
||||||
|
|
||||||
if (_meter_point == MeterOutput) {
|
if (_meter_point == MeterOutput) {
|
||||||
++meter_point;
|
++meter_point;
|
||||||
}
|
}
|
||||||
@ -4893,6 +4885,9 @@ Route::setup_invisible_processors ()
|
|||||||
/* MONITOR SEND */
|
/* MONITOR SEND */
|
||||||
|
|
||||||
if (_monitor_send && !is_monitor ()) {
|
if (_monitor_send && !is_monitor ()) {
|
||||||
|
ProcessorList::iterator after_amp = amp;
|
||||||
|
++after_amp;
|
||||||
|
|
||||||
assert (!_monitor_send->display_to_user ());
|
assert (!_monitor_send->display_to_user ());
|
||||||
switch (Config->get_listen_position ()) {
|
switch (Config->get_listen_position ()) {
|
||||||
case PreFaderListen:
|
case PreFaderListen:
|
||||||
@ -4912,7 +4907,7 @@ Route::setup_invisible_processors ()
|
|||||||
new_processors.insert (after_amp, _monitor_send);
|
new_processors.insert (after_amp, _monitor_send);
|
||||||
break;
|
break;
|
||||||
case AFLFromAfterProcessors:
|
case AFLFromAfterProcessors:
|
||||||
new_processors.insert (new_processors.end(), _monitor_send);
|
new_processors.insert (main, _monitor_send);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
_monitor_send->set_can_pan (true);
|
_monitor_send->set_can_pan (true);
|
||||||
|
@ -4126,7 +4126,7 @@ Session::config_changed (std::string p, bool ours)
|
|||||||
}
|
}
|
||||||
} else if (p == "solo-mute-override") {
|
} else if (p == "solo-mute-override") {
|
||||||
// catch_up_on_solo_mute_override ();
|
// catch_up_on_solo_mute_override ();
|
||||||
} else if (p == "listen-position" || p == "pfl-position") {
|
} else if (p == "listen-position" || p == "pfl-position" || p == "afl-position") {
|
||||||
listen_position_changed ();
|
listen_position_changed ();
|
||||||
} else if (p == "solo-control-is-listen-control") {
|
} else if (p == "solo-control-is-listen-control") {
|
||||||
solo_control_mode_changed ();
|
solo_control_mode_changed ();
|
||||||
|
Loading…
Reference in New Issue
Block a user