Commit graph

71 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
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
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
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
ece7d18baf Replace direct use of Session::midi_panic() in surfaces 2021-09-17 15:15:52 -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
1a5ffc4c8b Factor out ControlProtocol::get_session() 2021-09-17 14:31:34 -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
3dad396627 Factor out duplicated MidiByteArray 2021-09-17 13:53:09 -04:00
Paul Davis
086e48796c surfaces: first round of conversion to use timeline types 2021-08-13 12:51:29 -06:00
Ben Loftis
193cebc912 US2400: build-fix: need some IFDEFs for Mixbus. 2021-08-03 10:58:30 -05:00
Ben Loftis
521117054e US2400: Fix order of mixbuses in Flip mode (Mixbus only) 2021-08-03 10:38:19 -05:00
Ben Loftis
398a1efbd5 US2400: Fix send levels from joystick ("surround pan" on mixbuses 11,12) (Mixbus32C only) 2021-08-03 10:38:18 -05:00
Ben Loftis
0b5ab1b570 US2400: Fix direction of pan knob LEDs 2021-08-03 10:38:18 -05:00
Paul Davis
b20a541d7e change PBD::microseconds_t to a signed type and check for -1 in TimingStats::update
This may help a Windows issue with the return value of QueryPerformanceCounter
2021-06-28 14:47:48 -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
Paul Davis
9cbaa31c7e libs fix for get_microseconds() move to libpbd 2021-06-26 18:27:39 -06:00
David Robillard
1b4aaea92a Remove unused private fields (Wunused-private-field) 2021-05-30 20:09:35 -04:00
Todd Naugle
4d815554dd Various Control Surfaces: Fix one off in calculation of fader position
MIDI pitch bend holds 14 bits (16384) which gives values of 0 to 16383.
2021-05-07 18:02:44 -05:00
Robin Gareus
5957e14259
Remove unused #include<> (2/2)
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:57:16 +02: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
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
ad234b1853
US2400: fix pan_azimuth direction by setting rotary flag 2020-06-18 00:19:29 +02:00
Robin Gareus
bf894d80fb
NO-OP: remove unused #includes 2020-03-21 19:46:38 +01:00
Ben Loftis
3e77680a57 surfaces transport hotfix: surfaces should query the transport state via BasicUI, when possible 2020-02-23 09:02:25 -06:00
Paul Davis
2398f6127f fix up apparent design thinkos in US2400 key binding handler 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
Paul Davis
d79d2807b1 expand use of new BasicUI API for transport button state to all control surfaces 2019-12-29 18:53:22 -07:00
Paul Davis
52aa405ce3 use new Session API to deal with transport state
Transition to use BasicUI button state API to come
2019-12-29 18:43:51 -07:00
Paul Davis
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
Robin Gareus
d10c4c651c
Consolidate and extend "well-known" controls:
* Add new common strip controls (inspired from Mixbus)
* Remove duplicate documentation, document virtual API only.
* "azimuth" not "azi"
2019-09-25 14:02:45 +02:00
Robin Gareus
52021bc3ca
Consistent use of abort() /* NOTREACHED */
This fixes some static analysis warnings:
PBD::fatal transmitter needs to be connected to a function
that aborts. This is usually the case with GUI
2019-09-18 05:57:26 +02:00
Robin Gareus
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
Johannes Mueller
0c3112aed1 Some frame -> sample changes in UCS2400 2019-05-18 16:36:49 +02:00
Ben Loftis
3e7e89db8f Fix some actions that moved from Common to Editor. 2019-05-13 09:20:17 -05:00
Johannes Mueller
5b7bcec529 Use ActionModel API in the Control Surfaces that can make use of it 2019-04-20 15:25:32 +02:00
Robin Gareus
2f91bdfa53
NO-OP: <tab> after <space> fixes in libs 2019-04-13 19:19:29 +02:00
Robin Gareus
4b86d19b27
Add missing semicolon (Mixbus) 2019-04-08 00:22:13 +02:00
Paul Davis
acbd12c885 fix all surfaces' available action menus
Note: this replicated code is ridiculous
2019-03-20 14:23:23 -07:00
Paul Davis
94d859e30d ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 2 (surface support) 2019-03-20 11:15:34 -07:00