new Session signal to indicate that instrument tracks/busses were added and are configured

Existing code sent RouteAdded() before the instrument plugin(s) were added. Rather than risk changing code
ordering, just emit a 2nd signal to notify (the GUI) that new instrument tracks/busses were added
This commit is contained in:
Paul Davis 2025-11-12 12:27:45 -07:00
parent c469c33bc4
commit f895bc2cd9
2 changed files with 10 additions and 0 deletions

View file

@ -458,6 +458,10 @@ public:
PBD::Signal<void()> Located;
PBD::Signal<void(RouteList&)> RouteAdded;
/* This is emitted after one or more routes are added that are actually
Tracks with an instrument plugin.
*/
PBD::Signal<void(RouteList&)> InstrumentRouteAdded;
/** Emitted when a property of one of our route groups changes.
* The parameter is the RouteGroup that has changed.
*/

View file

@ -2828,6 +2828,9 @@ Session::new_midi_track (const ChanCount& input, const ChanCount& output, bool s
add_routes (new_routes, input_auto_connect, !instrument, order);
load_and_connect_instruments (new_routes, strict_io, instrument, pset, existing_outputs);
if (instrument) {
InstrumentRouteAdded (new_routes);
}
}
return ret;
@ -2908,6 +2911,9 @@ Session::new_midi_route (RouteGroup* route_group, uint32_t how_many, string name
add_routes (ret, false, !instrument, order);
load_and_connect_instruments (ret, strict_io, instrument, pset, existing_outputs);
if (instrument) {
InstrumentRouteAdded (ret);
}
}
return ret;