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
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
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
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
e17d20054a
Remove some unnecessary Session dependency
2021-09-17 14:22:50 -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
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
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
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
Robin Gareus
b58dfc7f0f
Resolve microseconds_t ambiguity 1/2
...
This resolves a PBD vs ARDOUR namespace error for some compilers:
```
error: reference to 'microseconds_t' is ambiguous
libs/pbd/pbd/microseconds.h:29:19: error: candidates are: typedef uint64_t PBD::microseconds_t
libs/ardour/ardour/types.h:81:29: error: typedef PBD::microseconds_t ARDOUR::microseconds_t
```
2021-06-27 17:33:05 +02:00
David Robillard
e7466bddbc
Push2: Clean up forward declarations
2021-06-18 13:53:53 -04:00
Robin Gareus
e0a6aba28d
Ignore saved port-name when loading ctrl-surface state
...
In some cases old and/or conflicting port names were saved
with the session (e.g. "Faderport" for FP1,8). Loading old sessions
then merges this state into the config, which could lead to
port-registration failure when the surfaces was enabled.
2021-04-17 02:07:09 +02:00
Robin Gareus
acfa04d700
Update Ctrl-surface MIDI port list when ports change
...
This is a better variant of bbb6851468 , directly using
the GUI context without indirection.
2021-02-04 06:19:37 +01:00
Robin Gareus
bbb6851468
Subscribe to pretty-port name changes (surfaces)
2021-01-18 03:18:20 +01:00
Robin Gareus
a266a2d5b9
Use session API to set solo
...
This is required so that ::update_route_solo_state() is called
to propagate solo/mute state
2020-10-18 15:28:10 +02:00
Robin Gareus
72736289c8
NO-OP: rename API rename
...
CP selection API is now implemented as functions, not signals.
2020-10-18 14:47:05 +02:00
Robin Gareus
84bf97aa49
Update ControlProtocol API, use CoreSelection
...
* replace signal-emission with direct calls to CoreSelecton
using BaseUI's session pointer
* remove unused leftmost strip API
* use CoreSelection for first-selected strip
* Accessing CoreSelection does not modify the session
(allow access from const callbacks)
* replace static calls in P2 surface
This removes indirection and dependency on the GUI for
managing strip selection.
2020-10-18 14:44:38 +02:00
Robin Gareus
23feb0491e
Remove using std::min/max from header
2020-06-18 01:05:48 +02:00
Paul Davis
57598acbcf
remove unused members
2020-02-20 12:53:57 -07:00
Robin Gareus
06b2eb1c27
Explicitly use OSX
...
Previously this was inherited via PBD.
On MacOS/X, this adds
"-undefined dynamic_lookup -flat_namespace"
and various "-framework .." options to linkflags
Without this flag, .dylibs fail to link usually because
of missing `-lintl` (Undefined symbols: "_libintl_dgettext")
On other systems this is a NO-OP:
CFLAGS_OSX, CXXFLAGS_OSX and LINKFLAGS_OSX
are only set on the darwin platform.
2020-01-25 04:07:41 +01:00
David Runge
2e9ac80e99
Towards waf python 2+3 support
2020-01-25 04:07:37 +01:00
David Robillard
941aa20148
Fix font size on Push2
...
At least on my machine, the fonts on the Push display were ridiculously large,
making everything overlapping and unusable. I suspect this is because
pango_cairo_font_map_get_default() inherits DPI from the system, so the
monitor scaling factor got applied to the Push display as well.
This commit instead creates a new plain font map, and sets the resolution to
96, which looks like what the UI was designed for. Some more tweaking of the
Pango context might make things more optimal on the Push, but just setting the
resolution makes things look reasonable to me anyway.
2019-12-09 23:38:10 +01:00
Robin Gareus
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log
2019-08-03 15:53:18 +02:00
Robin Gareus
43fe5c0487
Update Push2 level-meter display (use new API)
...
The meter-type is now implicit set by route/meter-processor, common
to all UIs.
2019-06-09 19:56:33 +02:00
Robin Gareus
357361c89d
Fix --no-nls (4/5), i18n include order in libs/*
...
"i18n.h" needs to be included last (after any includes that may indirectly
pull in getext or libintl etc)
2018-09-21 19:05:39 +02:00
Robin Gareus
ed678aa2f9
Fix shared_ptr initialization
...
error: no matching function for call to
'boost::shared_ptr<ArdourSurface::Push2::Button>::shared_ptr(int)'
2018-09-03 13:38:37 +02:00
Paul Davis
6e419a961e
use boost::shared_ptr<> to manage Button/Pad lifetimes in Push2 code
2018-09-02 13:23:57 -04:00
Robin Gareus
9f30d14906
P2: Fix check if ports exist
2018-08-30 22:28:31 +02:00
Paul Davis
b9c6ffac21
fix header order and space alignment
2017-09-24 12:57:27 -04:00
Paul Davis
7db12f6b12
convert codebase to use Temporal for various time types
2017-09-24 12:03:54 -04:00
Paul Davis
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Paul Davis
483ad807ce
fix crashing thinko in push2 code
2017-09-08 18:36:26 -04:00
Robin Gareus
2d60a69c2d
Consolidate ctrl surface code
2017-08-05 01:28:11 +02:00
Robin Gareus
b5e0b5b09f
PortManager::unregister_port() must be called with process lock
...
This fixes "Failed to register <surface> port" when re-loading a session.
2017-07-28 20:15:15 +02:00