Commit graph

121 commits

Author SHA1 Message Date
David Robillard
003f1a4974 Add BasicUI::selection()
Towards removing the direct use of Session by surfaces.
2021-09-17 16:42:42 -04:00
David Robillard
8cbff2b202 Add BasicUI::audible_sample()
Towards removing the direct use of Session by surfaces.
2021-09-17 16:42:21 -04:00
David Robillard
453fac0df7 Add BasicUI::click_gain()
Towards removing the direct use of Session by surfaces.
2021-09-17 16:35:04 -04:00
David Robillard
fad1531b2d Add BasicUI::set_control() and set_controls()
Towards removing the direct use of Session by surfaces.
2021-09-17 16:34:43 -04:00
David Robillard
ed27a9effb Make surfaces access Session signals through BasicUI accessors 2021-09-17 16:28:36 -04:00
David Robillard
a48cddf235 Add BasicUI::transport_rolling()
Now this name directly corresponds to the session method it wraps.

Towards removing the direct use of Session by surfaces.
2021-09-17 16:21:30 -04:00
David Robillard
def143bc64 Replace BasicUI transport_rolling with transport_stopped_or_stopping
For consistency with the underlying Session API, and to avoid an unfortunate
soft-overload with Session::transport_rolling() that does something different.
2021-09-17 16:20:18 -04:00
David Robillard
3e101dd895 Add BasicUI::locations()
Towards removing the direct use of Session by surfaces.
2021-09-17 16:16:37 -04:00
David Robillard
fdc24b6594 Add BasicUI::get_play_loop()
Towards removing the direct use of Session by surfaces.
2021-09-17 16:11:58 -04:00
David Robillard
93f5dc7e9e Add BasicUI::have_rec_enabled_track()
Towards removing the direct use of Session by surfaces.
2021-09-17 16:07:47 -04:00
David Robillard
0dc7cbba14 Add BasicUI::master_out() and BasicUI::monitor_out()
Towards removing the direct use of Session by surfaces.
2021-09-17 16:07:26 -04:00
David Robillard
b35f9ca1a0 Add BasicUI::cancel_all_mute()
Towards removing the direct use of Session by surfaces.
2021-09-17 16:01:36 -04:00
David Robillard
799008e4d7 Add BasicUI::record_status()
Towards removing the direct use of Session by surfaces.
2021-09-17 16:00:24 -04:00
David Robillard
1f17d0834c Add BasicUI::config()
Towards removing the direct use of Session by surfaces.
2021-09-17 15:59:13 -04:00
David Robillard
850bd44702 Add BasicUI::engine_sample_time()
Towards removing the direct use of Session by surfaces.
2021-09-17 15:58:53 -04:00
David Robillard
36789f080c Add BasicUI::make_port_name_non_relative()
Towards removing the direct use of Session by surfaces.
2021-09-17 15:51:55 -04:00
David Robillard
3318f4e54c Replace direct use of Session::transport_sample() in surfaces 2021-09-17 15:15:11 -04:00
David Robillard
666b3ba920 Move RecordState to ardour/types.h
This allows it to be used without including session.h.
2021-09-17 14:49:44 -04:00
David Robillard
b58c22c1be Remove BasicUI default constructor
Towards stronger lifetime guarantees, in particular the validity of _session.

I was expecting this to be a whole ordeal, but... compiler says no.
2021-09-17 14:19:15 -04:00
David Robillard
6dfb04c4da Rename ControlProtocol::session to ControlProtocol::_session
To match ARDOUR_UI, which this is something of a long lost base class of (and
hopefully in the future a literal base class of).
2021-09-17 14:18:46 -04:00
David Robillard
52139d8291 Remove dead code 2021-09-17 13:56:13 -04:00
Paul Davis
8bada4b5e1 remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion
libtemporal still needs ::bbt_at (superclock_t) fairly often so retain it as a private method, but public
interfaces take either Beats or timepos_t
2021-08-13 12:51:35 -06:00
Paul Davis
79763893b3 remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr) 2021-08-13 12:51:30 -06:00
Paul Davis
f67029bd02 random commit to facilitate trivial move of work from laptop back to main system 2021-08-13 12:51:29 -06:00
Paul Davis
086e48796c surfaces: first round of conversion to use timeline types 2021-08-13 12:51:29 -06:00
Paul Davis
f4490f54c5 change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -06:00
Ben Loftis
3114ef4de2
Default_Play_Speed: prep work (libardour)
* remove unused variables in session.h
* move default play speed (varispeed(sic)) into fsm
* request_transport_speed should -never- set the default_play_speed
2021-07-03 19:06:02 +02:00
Robin Gareus
83b9ab1bee
Temporarily revert ongoing varispeed development
This reverts bf88f3fe64
until 35813db0f4

in order to move development into a branch, until after the
upcoming 6.8 release
2021-06-26 18:58:24 +02:00
Ben Loftis
006055a2ff Default_Play_Speed: prep work (libardour)
* remove unused variables in session.h
* move default play speed (varispeed(sic)) into fsm
* request_transport_speed should -never- set the default_play_speed
2021-06-25 11:51:34 -05:00
Paul Davis
b75a37abdb fix arguemnts to transport call in shared control surface code for transport_play() 2021-06-08 08:32:19 -06:00
Paul Davis
2e501fd77a ensure the BasicUI implementation of rewind/ffwd is the same as the ARDOUR_UI one 2021-05-19 18:32:00 -06:00
Paul Davis
57b3df8b22 copy over (boo!) transport control changes to BasicUI (control surfaces) 2021-05-08 09:20:21 -06:00
Paul Davis
1757cfb8ef use rewind/ffwd option to alter behavior of control surface rewind/ffwd buttons
This does not affect GUI equivalents (yet)
2021-05-04 20:52:01 -06:00
Paul Davis
cd4aaa808e use button_varispeed() in BasicUI::rewind() and BasicUI::ffwd() 2021-05-04 16:38:28 -06:00
Paul Davis
009e971bfb correct the implementation of BasicUI::button_varispeed() to provide incremental speed shifting (by semitones) in both directions 2021-05-04 16:38:02 -06:00
Paul Davis
fbd1221833 move FaderPort8 method "button_varispeed()" into BasicUI for more general use 2021-05-04 16:10:24 -06:00
Paul Davis
8e868fc743 remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) (surfaces edition) 2021-05-03 17:40:41 -06:00
Paul Davis
f94aec5a59 fix/improve BasicUI's methods for rewind/ffwd/play (used by various surfaces) 2021-04-19 16:14:09 -06:00
Paul Davis
48e5607f7c use Session::request_roll() instead of request_transport_speed (1.0, ...) 2021-04-19 16:14:08 -06:00
Paul Davis
52b7e68102 use new Session transport API calls in GUI 2021-04-19 16:14:08 -06:00
Paul Davis
07c16d38a2 control surfaces: make methods used for transport control (BasicUI) do the right thing w.r.t. default speed 2021-02-12 09:36:52 -07:00
Ben Loftis
276baee8ad surfaces transport hotfix: BasicUI: prefer actual_speed() and transport_stopped_or_stopping() for current Transport FSM 2020-02-23 09:02:21 -06:00
Paul Davis
47767738b9 rename DoTheRightThing to RollIfAppropriate 2020-01-18 08:49:18 -07:00
Paul Davis
3c00048b0c 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
2020-01-18 08:49:18 -07:00
Paul Davis
a8cc5b1303 provide new methods for BasicUI that wrap the "complexity" of how to show transport state via lit buttons 2019-12-29 18:43:51 -07:00
Paul Davis
7b25a89944 part 1 of replicating semantics of ARDOUR_UI::toggle_roll() in BasicUI::toggle_roll()
This can be done better, even without sharing code
2019-11-02 16:32:18 -06:00
Paul Davis
a072228de5 remove seamless looping as an option (it's now the only kind of looping we support) 2019-11-01 14:04:28 -06:00
Robin Gareus
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
Johannes Mueller
89f39d14f2 Add some options for surfaces to jump in the timeline
* ::jump_by_beats()
* request transport to keep rolling after jump
2019-05-18 13:27:49 +02:00
Paul Davis
4c7e5dbc74 move away from "sync source" concepts 2018-10-05 14:15:02 -04:00