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 { struct RouteProcessorChange {
enum Type { enum Type {
GeneralChange = 0x0, GeneralChange = 0x0,
MeterPointChange = 0x1 MeterPointChange = 0x1,
RealTimeChange = 0x2
}; };
RouteProcessorChange () : type (GeneralChange), meter_visibly_changed (true) RouteProcessorChange () : type (GeneralChange), meter_visibly_changed (true)

View File

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

View File

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