Commit graph

2245 commits

Author SHA1 Message Date
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
cbbc6f66ee Reduce surface dependence on session.h 2021-09-17 16:30:11 -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
ece7d18baf Replace direct use of Session::midi_panic() in surfaces 2021-09-17 15:15:52 -04:00
David Robillard
78ee9b8917 Replace direct use of Session::get_transport_speed() in surfaces 2021-09-17 15:15:32 -04:00
David Robillard
3318f4e54c Replace direct use of Session::transport_sample() in surfaces 2021-09-17 15:15:11 -04:00
David Robillard
e7a769d608 Replace direct use of Session::request_transport_speed() in surfaces 2021-09-17 15:03:07 -04:00
David Robillard
badb360d1d Replace direct use of Session::goto_end() in surfaces 2021-09-17 15:02:47 -04:00
David Robillard
585e8173f9 Replace direct use of Session::goto_start() in surfaces 2021-09-17 15:02:27 -04:00
David Robillard
7b73f006a6 Replace direct use of Session::request_locate() in surfaces 2021-09-17 15:02:05 -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
de345dd790 Put BasicUI in namespace ARDOUR 2021-09-17 14:49:23 -04:00
David Robillard
1a5ffc4c8b Factor out ControlProtocol::get_session() 2021-09-17 14:31:34 -04:00
David Robillard
e17d20054a Remove some unnecessary Session dependency 2021-09-17 14:22:50 -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
David Robillard
13746a7fac Clean up control_protocol includes
This order (most local first) is better because it's more likely to catch
missing includes.
2021-09-17 13:55:52 -04:00
David Robillard
05a389bf36 Clean up whitespace 2021-09-17 13:53:31 -04:00
David Robillard
3dad396627 Factor out duplicated MidiByteArray 2021-09-17 13:53:09 -04:00
Robin Gareus
b3fff25d5c
Fix --maschine builds (pure virtual) 2021-08-13 21:53:18 +02:00
Paul Davis
c0425ba70f canvas: items should not add child bboxes in their ::compute_bounding_box() method, Item::bounding_box() does that 2021-08-13 12:51:37 -06: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
3702da5488 fix up osc support after rebase/merge conflicts 2021-08-13 12:51:33 -06:00
Paul Davis
364fffd458 temporal: TempoMap::Changed is now a static member named TempoMap::MapChanged 2021-08-13 12:51:32 -06:00
Paul Davis
c64db47b37 use new libtemporal sample rate mechanism (libs edition) 2021-08-13 12:51:31 -06:00
Paul Davis
bed76798f3 manual fixups after rebase against master (general libs edition) 2021-08-13 12:51:31 -06:00
Paul Davis
11af6253f5 mackie: NOOP: fix whitespace 2021-08-13 12:51:31 -06:00
Paul Davis
b866335d8f add glib event loop callback to Generic MIDI surface support 2021-08-13 12:51:30 -06:00
Paul Davis
ce7ea4ec36 Use glib event callback in Mackie Control support to set thread-local variables 2021-08-13 12:51:30 -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
Paul Davis
60f3985957 replace push2 call to Canvas::Box::pack_start() with Canvas::Box::add() which is equivalent
::pack_start() was removed
2021-08-13 12:51:26 -06:00
Paul Davis
210702481b add required virtual method to Push2Canvas 2021-08-13 12:51:26 -06:00
Paul Davis
9e5354a65e tweak a minor issue with canvas API 2021-08-13 12:51:26 -06:00