Session::request_locate() takes a tri-valued second argument for "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
This commit is contained in:
Paul Davis 2020-01-17 15:26:01 -07:00
parent 3fe87b9fa1
commit 3c00048b0c
27 changed files with 167 additions and 99 deletions

View file

@ -70,12 +70,13 @@ class LIBCONTROLCP_API BasicUI {
void set_transport_speed (double speed);
double get_transport_speed ();
void jump_by_seconds (double sec, bool with_roll = false);
void jump_by_bars (double bars, bool with_roll = false);
void jump_by_beats (double beats, bool with_roll = false);
void jump_by_seconds (double sec, ARDOUR::LocateTransportDisposition ltd = ARDOUR::DoTheRightThing);
void jump_by_bars (double bars, ARDOUR::LocateTransportDisposition ltd = ARDOUR::DoTheRightThing);
void jump_by_beats (double beats, ARDOUR::LocateTransportDisposition ltd = ARDOUR::DoTheRightThing);
ARDOUR::samplepos_t transport_sample ();
void locate (ARDOUR::samplepos_t sample, bool play = false);
void locate (ARDOUR::samplepos_t sample, ARDOUR::LocateTransportDisposition ltd);
void locate (ARDOUR::samplepos_t sample, bool);
bool locating ();
bool locked ();