summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/transport_fsm.h
AgeCommit message (Collapse)Author
2020-01-18Session::request_locate() takes a tri-valued second argument for ↵Paul Davis
"roll-after-locate" This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it can be cnentralized and is less ambiguous
2019-12-29add Session::transport_stopped_or_stopping()Paul Davis
Session::TransportStateChanged notifies about transport stop before the stop is complete (i.e. at the start of the declick). Various other objects (notably control surfaces) connect to this signal and use it to modify their displayed state. We need a method that can tell them we are stopped (or stopping) even though we are not "fully" stopped yet. This is that method
2019-11-22redesign of declicking and fades around loop boundariesPaul Davis
2019-11-18fix transport FSM to stop first and declick laterPaul Davis
2019-11-15consolidate setting of "get roll after locate" in TFSMPaul Davis
2019-11-01transportFSM: when locating due to end-of-loop, skip declick and do not ↵Paul Davis
transition states
2019-10-29fix handling of deferred events in transportFSMPaul Davis
tfsm events live on intrusive lists, with only 1 hook, which means they can only be on one list at a time, and cannot be deleted while part of the list. This wasn't being addressed properly when deferring (and undeferring) events.
2019-09-22various changes to transportFSM, mostly to try to keep track of whether to ↵Paul Davis
roll-after-locate (more) accurately
2019-09-20move TransportFSM::enqueue() into .cc filePaul Davis
2019-09-20at transport stop, reset FSM's idea of the last locate target (also removes ↵Paul Davis
const from method)
2019-09-20const-ify TransportFSMPaul Davis
2019-09-20rename TransportFSM::FSMEvent to TransportFSM::Event (c/o the Department of ↵Paul Davis
Redundancy Department)
2019-09-20add an important comment about transportFSM being single-thread and synchronousPaul Davis
2019-09-20use boost::intrusive to manage FSM events (this is all RT code)Paul Davis
2019-09-19replace boost::msm - based FSM for transport with one written in "plain C++"Paul Davis
Still need to use boost::intrusive to managed qeued/deferred containers
2019-09-18Introduce the BOOST_MPL stuff (though it all seems a bit flaky with MSVC...)John Emmas
2019-09-18Fix OSX builds: undef Apples's odd nil macroRobin Gareus
2019-09-17add finite state machine to control/manage transport statePaul Davis