new SessionEvents for start/stop transport
This commit is contained in:
parent
aeed50b1cc
commit
5a159abe1f
@ -63,6 +63,8 @@ public:
|
||||
SetTimecodeTransmission,
|
||||
Skip,
|
||||
SetTransportMaster,
|
||||
StartRoll,
|
||||
EndRoll,
|
||||
|
||||
/* only one of each of these events can be queued at any one time */
|
||||
|
||||
|
@ -61,6 +61,7 @@ using namespace PBD;
|
||||
using namespace std;
|
||||
|
||||
#define TFSM_EVENT(evtype) { _transport_fsm->enqueue (new TransportFSM::Event (evtype)); }
|
||||
#define TFSM_ROLL() { _transport_fsm->enqueue (new TransportFSM::Event (TransportFSM::StartTransport)); }
|
||||
#define TFSM_STOP(abort,clear) { _transport_fsm->enqueue (new TransportFSM::Event (TransportFSM::StopTransport,abort,clear)); }
|
||||
#define TFSM_SPEED(speed,abort,clear_state,as_default) { _transport_fsm->enqueue (new TransportFSM::Event (TransportFSM::SetSpeed,speed,abort,clear_state,as_default)); }
|
||||
#define TFSM_LOCATE(target,ltd,flush,loop,force) { _transport_fsm->enqueue (new TransportFSM::Event (TransportFSM::Locate,target,ltd,flush,loop,force)); }
|
||||
@ -914,6 +915,14 @@ Session::process_event (SessionEvent* ev)
|
||||
TFSM_SPEED (ev->speed, ev->yes_or_no, ev->second_yes_or_no, ev->third_yes_or_no);
|
||||
break;
|
||||
|
||||
case SessionEvent::StartRoll:
|
||||
TFSM_ROLL ();
|
||||
break;
|
||||
|
||||
case SessionEvent::EndRoll:
|
||||
TFSM_STOP (ev->yes_or_no, ev->second_yes_or_no);
|
||||
break;
|
||||
|
||||
case SessionEvent::SetTransportMaster:
|
||||
/* do not allow changing the transport master if we're already
|
||||
using one.
|
||||
|
Loading…
Reference in New Issue
Block a user