special case [optimize] RT processor reorder.

realtime processor re-ordering does not require
a route resort nor latency compensation update.
(which were done as callback in same thread)
This commit is contained in:
Robin Gareus 2015-04-27 05:01:07 +02:00
parent b7a711e385
commit 36ee1681fe
3 changed files with 9 additions and 2 deletions

View File

@ -557,7 +557,8 @@ namespace ARDOUR {
struct RouteProcessorChange {
enum Type {
GeneralChange = 0x0,
MeterPointChange = 0x1
MeterPointChange = 0x1,
RealTimeChange = 0x2
};
RouteProcessorChange () : type (GeneralChange), meter_visibly_changed (true)

View File

@ -3407,7 +3407,7 @@ Route::apply_processor_changes_rt ()
}
}
if (changed) {
processors_changed (RouteProcessorChange ()); /* EMIT SIGNAL */
processors_changed (RouteProcessorChange (RouteProcessorChange::RealTimeChange)); /* EMIT SIGNAL */
set_processor_positions ();
}
}

View File

@ -1826,6 +1826,12 @@ Session::route_processors_changed (RouteProcessorChange c)
}
if (c.type == RouteProcessorChange::MeterPointChange) {
set_dirty ();
return;
}
if (c.type == RouteProcessorChange::RealTimeChange) {
set_dirty ();
return;
}