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
This commit is contained in:
Robin Gareus 2020-03-30 15:19:06 +02:00
parent 23baeee829
commit fd414ec158
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
1 changed files with 8 additions and 8 deletions

View File

@ -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);