Trigger Cues: implement master Stop button (libardour part)

This commit is contained in:
Ben Loftis 2021-12-12 11:32:16 -06:00
parent c862b604e1
commit e7569eabe7
4 changed files with 24 additions and 0 deletions

View File

@ -205,6 +205,8 @@ public:
void set_disk_io_point (DiskIOPoint);
DiskIOPoint disk_io_point() const { return _disk_io_point; }
void stop_trigger(bool now);
/* Processors */
boost::shared_ptr<Amp> amp() const { return _amp; }

View File

@ -487,6 +487,9 @@ public:
void start_transport_from_trigger ();
void stop_transport_from_trigger ();
void stop_all_triggers (bool now = true);
void request_transport_speed (double speed, TransportRequestSource origin = TRS_UI);
void request_default_play_speed (double speed, TransportRequestSource origin = TRS_UI);
void request_transport_speed_nonzero (double, TransportRequestSource origin = TRS_UI);

View File

@ -1728,6 +1728,14 @@ Route::remove_processors (const ProcessorList& to_be_deleted, ProcessorStreams*
return 0;
}
void
Route::stop_trigger (bool now)
{
if (_triggerbox) {
_triggerbox->request_stop_all(); //ToDo: stop now or at end of quant?
}
}
void
Route::reset_instrument_info ()
{

View File

@ -432,6 +432,17 @@ Session::set_transport_speed (double speed)
}
/** Called from the gui thread */
void
Session::stop_all_triggers (bool now)
{
boost::shared_ptr<RouteList> rl = routes.reader();
for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
(*i)->stop_trigger(now);
}
}
/** Stop the transport. */
void
Session::stop_transport (bool abort, bool clear_state)