summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-03-30 15:19:06 +0200
committerRobin Gareus <robin@gareus.org>2020-03-30 15:20:54 +0200
commitfd414ec158d842c9890f192a7f7a0ec01fdaa562 (patch)
tree7e7a4eb02070dcf589d827fde74800829ae9407c /libs/ardour/route.cc
parent23baeee829359bd8ed2e9090743ad82188425f26 (diff)
Assert that plugins are configured before setting custom meter position
This fixes the following issue: On the master channel insert the waveform scope before the fader. Then set the meter position to custom and move the meter to the very beginning of the chain. Before this change, when set_meter_point() was called the processor list only contained the Fader (_amp) and no other processor. _main_outs was not yet present in the list, and Route::maybe_note_meter_position() triggered an and assert(_processor_after_last_custom_meter.lock()); See also d0dca7daf0
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index cbe8830692..7c653b6fe1 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -2668,14 +2668,6 @@ Route::set_state (const XMLNode& node, int version)
}
}
- MeterPoint mp;
- if (node.get_property (X_("meter-point"), mp)) {
- set_meter_point (mp, true);
- if (_meter) {
- _meter->set_display_to_user (_meter_point == MeterCustom);
- }
- }
-
DiskIOPoint diop;
if (node.get_property (X_("disk-io-point"), diop)) {
if (_disk_writer) {
@@ -2699,6 +2691,14 @@ Route::set_state (const XMLNode& node, int version)
// this looks up the internal instrument in processors
reset_instrument_info();
+ MeterPoint mp;
+ if (node.get_property (X_("meter-point"), mp)) {
+ set_meter_point (mp, true);
+ if (_meter) {
+ _meter->set_display_to_user (_meter_point == MeterCustom);
+ }
+ }
+
bool denormal_protection;
if (node.get_property (X_("denormal-protection"), denormal_protection)) {
set_denormal_protection (denormal_protection);