summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-03-30 17:58:35 +0200
committerRobin Gareus <robin@gareus.org>2020-03-30 17:58:35 +0200
commit40e3364c663fca2542c6d54e3e20f27d83103a6b (patch)
tree87c75c952b73fe359fc0a997108ac9fb305810cc /libs/ardour/ardour
parentb6ca576832e4077917d8ae0c614e8b4263145607 (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.h2
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; }