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/osc | |
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/osc')
-rw-r--r-- | libs/surfaces/osc/osc.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index 666c1023c3..5e336e653d 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -3369,7 +3369,7 @@ OSC::set_marker (const char* types, lo_arg **argv, int argc, lo_message msg) for (Locations::LocationList::const_iterator l = ll.begin(); l != ll.end(); ++l) { if ((*l)->is_mark ()) { if (strcmp (&argv[0]->s, (*l)->name().c_str()) == 0) { - session->request_locate ((*l)->start (), false); + session->request_locate ((*l)->start (), MustStop); return 0; } else if ((*l)->start () == session->transport_sample()) { cur_mark = (*l); @@ -3406,7 +3406,7 @@ OSC::set_marker (const char* types, lo_arg **argv, int argc, lo_message msg) std::sort (lm.begin(), lm.end(), location_marker_sort); // go there if (marker < lm.size()) { - session->request_locate (lm[marker].when, false); + session->request_locate (lm[marker].when, MustStop); return 0; } // we were unable to deal with things @@ -6202,7 +6202,7 @@ OSC::periodic (void) scrub_speed = 0; session->request_transport_speed (0); // locate to the place PH was at last tick - session->request_locate (scrub_place, false); + session->request_locate (scrub_place, MustStop); } } for (uint32_t it = 0; it < _surface.size(); it++) { |