diff options
author | Robin Gareus <robin@gareus.org> | 2020-03-30 15:19:06 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-03-30 15:20:54 +0200 |
commit | fd414ec158d842c9890f192a7f7a0ec01fdaa562 (patch) | |
tree | 7e7a4eb02070dcf589d827fde74800829ae9407c /libs/ardour/route.cc | |
parent | 23baeee829359bd8ed2e9090743ad82188425f26 (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.cc | 16 |
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); |