diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-01-17 15:26:01 -0700 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-01-18 08:49:18 -0700 |
commit | 3c00048b0c0dbf3efd17cf04fdc7daa91424e338 (patch) | |
tree | 7049bed10f750ba08a0e4769f975a90930dab5db /libs/surfaces/contourdesign/contourdesign.cc | |
parent | 3fe87b9fa1417cfcf6636ff9bf4c8c2abcb6f796 (diff) |
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
Diffstat (limited to 'libs/surfaces/contourdesign/contourdesign.cc')
-rw-r--r-- | libs/surfaces/contourdesign/contourdesign.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/surfaces/contourdesign/contourdesign.cc b/libs/surfaces/contourdesign/contourdesign.cc index 1e4471b56b..0ddf9c5945 100644 --- a/libs/surfaces/contourdesign/contourdesign.cc +++ b/libs/surfaces/contourdesign/contourdesign.cc @@ -557,7 +557,7 @@ ContourDesignControlProtocol::prev_marker_keep_rolling () samplepos_t pos = session->locations()->first_mark_before (session->transport_sample()); if (pos >= 0) { - session->request_locate (pos, _keep_rolling && session->transport_rolling()); + session->request_locate (pos, DoTheRightThing); } else { session->goto_start (); } @@ -569,7 +569,7 @@ ContourDesignControlProtocol::next_marker_keep_rolling () samplepos_t pos = session->locations()->first_mark_after (session->transport_sample()); if (pos >= 0) { - session->request_locate (pos, _keep_rolling && session->transport_rolling()); + session->request_locate (pos, DoTheRightThing); } else { session->goto_end(); } @@ -592,7 +592,7 @@ ContourDesignControlProtocol::jog_event_forward () void ContourDesignControlProtocol::jump_forward (JumpDistance dist) { - bool kr = _keep_rolling && session->transport_rolling (); + LocateTransportDisposition kr = _keep_rolling ? DoTheRightThing : MustStop; switch (dist.unit) { case SECONDS: jump_by_seconds (dist.value, kr); break; case BEATS: jump_by_beats (dist.value, kr); break; |