diff options
author | Robin Gareus <robin@gareus.org> | 2020-03-30 17:58:35 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-03-30 17:58:35 +0200 |
commit | 40e3364c663fca2542c6d54e3e20f27d83103a6b (patch) | |
tree | 87c75c952b73fe359fc0a997108ac9fb305810cc /libs/ardour/ardour | |
parent | b6ca576832e4077917d8ae0c614e8b4263145607 (diff) |
Always delegate meter-point positioning to rt-thread
Previously set_state() -> set_meter_point() acquired the
process-lock to change meter-position, usually causing x-runs
when setting route-state.
This also fixes an issue introduced in fd414ec158. After
populating the processor list, force setting the meter-position
looks up the output streams of the processor before the meter.
However the processors are not configured. That will only happen
later from Session::post_engine_init().
---
#3 0x00007ff07b7d4102 in __GI___assert_fail at assert.c:101
#4 0x00007ff080d3224a in ARDOUR::PluginInsert::output_streams() const at ../libs/ardour/plugin_insert.cc:289
#5 0x00007ff080de8c30 in ARDOUR::Route::set_meter_point_unlocked() at ../libs/ardour/route.cc:4106
#6 0x00007ff080de8699 in ARDOUR::Route::set_meter_point(ARDOUR::MeterPoint, bool) at ../libs/ardour/route.cc:4037
#7 0x00007ff080ddfad3 in ARDOUR::Route::set_state(XMLNode const&, int) at ../libs/ardour/route.cc:269
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/route.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index a24d102555..959448881f 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -190,7 +190,7 @@ public: void set_denormal_protection (bool yn); bool denormal_protection() const; - void set_meter_point (MeterPoint, bool force = false); + void set_meter_point (MeterPoint); bool apply_processor_changes_rt (); void emit_pending_signals (); MeterPoint meter_point() const { return _pending_meter_point; } |