Allow to call set_state() on existing routes
Delaylines are not saved in the XML and internal-return is an invisible processor not explicitly re-added when the state is restored. They are [re]inserted during Route::setup_invisible_processors(). So this method need to be called after restoring processor state (indirectly via configure_processors_unlocked as needed). PS. During route creation this call happens explicitly and on session load hookup_io() -> Route::output_change_handler() implicitly sets this up.
This commit is contained in:
@@ -2969,6 +2969,13 @@ Route::set_processor_state (const XMLNode& node)
|
|||||||
*/
|
*/
|
||||||
_processors = new_order;
|
_processors = new_order;
|
||||||
|
|
||||||
|
if (_delayline) {
|
||||||
|
must_configure |= find (_processors.begin(), _processors.end(), _delayline) == _processors.end ();
|
||||||
|
}
|
||||||
|
if (_intreturn) {
|
||||||
|
must_configure |= find (_processors.begin(), _processors.end(), _intreturn) == _processors.end ();
|
||||||
|
}
|
||||||
|
|
||||||
if (must_configure) {
|
if (must_configure) {
|
||||||
configure_processors_unlocked (0, &lm);
|
configure_processors_unlocked (0, &lm);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user