4601507165eb497d9d63c39743c572eed5624dd8
This is only relevant when automating a plugin-bypass, due to ActiveChanged the following could happen from the realtime thread: #2 ARDOUR::Session::update_latency_compensation (false, false) #3 PBD::Signal0<void, PBD::OptionalLastValue<void> > #4 ARDOUR::AutomationControl::actually_set_value #5 ARDOUR::PluginInsert::PluginControl::actually_set_value #6 ARDOUR::PluginInsert::connect_and_run #7 ARDOUR::PluginInsert::automate_and_run In this specific case the update_latency_compensation() is called with process-lock held but the caller lied: called_from_backend=false When a delayline update is needed, this can lead to a deadlock, since the process-lock is acquired again. Simply postponing the update is preferable since this also postpones the change when actively recording. PS. This may need special casing for freewheel export.
Please see the Ardour web site at http://ardour.org/ for all documentation..
For information on building ardour:
http://ardour.org/development.html
Description
Languages
C++
56.5%
C
39.6%
JavaScript
1.3%
Lua
0.9%
Python
0.6%
Other
0.9%