13
0
Commit Graph

70 Commits

Author SHA1 Message Date
65346496f5
Refactor Ctrl Surface API
* reserve "probe" to actually probe for devices
* use separate probe for libusb and MIDI port devices
* use "available" to check if surface can be used
* allow both methods to be NULL
* remove unused ControlProtocolDescriptor* argument

Most surface just return `true` for available.
2023-05-03 15:38:42 +02:00
847f1e54c1
Clean up ctrl surface API
Remove unused fields, no mandatory surfaces
2023-05-01 02:22:45 +02:00
f718279949 surfaces & event loops: i really mean no more request buffer factories 2023-04-21 13:55:58 -06:00
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
2c7f8eeb97
Indicate UTF8 literals - fixes glyph rendering with MSVC (1/2) 2023-01-16 21:41:09 +01:00
3f3d0c7e49
Surfaces and panners should not export headers
Those are not shared libraries but only dynamically loaded
plugin objects. Their headers are their own.
2022-11-19 01:11:53 +01:00
luz paz
47c525315d Fix various typos
Found via `codespell -q 3 -S *.po,./.git,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch  -L ba,buss,busses,discreet,doubleclick,hsi,ontop,ro,scrollin,seh,siz,sord,sur,te,trough,ue`
2022-08-03 12:10:01 -06:00
0d9656ef82 use new macros to cleanup #ifndef NDEBUG as much as possible (libs edition) 2022-06-22 13:31:08 -06:00
41948821e2 fix optimized unused variable warning 2022-06-22 13:31:08 -06:00
ebb9d3d4dc fix optimized unused variable warning 2022-06-22 13:31:08 -06:00
9758e6280f use new event loop callback to ensure that all surface/control protocol threads have tempo map ptr set 2022-05-16 15:24:52 -06:00
be90b4e0ca US2400 - fix crash when no strip is selected
first selected could be null, so check that first.
This is untested since I don't have a surface.
2022-05-10 09:17:33 -05:00
Caleb Potter
b689d2881e M: US2400: allows user to bank over sends while in TrackView.
Sends only appear on the last 8 vpots, which means sends to matrices 9-12
are unreachable without banking.
2022-05-02 22:41:40 -06:00
Caleb Potter
20fff72370 US2400: Use Bank- and Bank+ to page over sends on pots 2022-05-02 22:41:40 -06:00
Caleb Potter
0d05cd231b US2400: maps track parameters and sends to vpots
Pots 0-4 now display the 5 parameters from the Mackie track subview when a
track is selected and pots 8-23 will display up to the first 16 sends.
2022-05-02 22:41:40 -06:00
7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06:00
Mads Kiilerich
8bb91099c5 wscript: drop configure statements already present in the top level wscript
Avoid repeated pointless configure messages like:
Checking for 'g++' (C++ compiler!)                   : /usr/lib64/ccache/g++
Checking for 'gcc' (C compiler)                      : /usr/lib64/ccache/gcc
2022-01-22 22:19:03 +01:00
086e48796c surfaces: first round of conversion to use timeline types 2021-08-13 12:51:29 -06:00
193cebc912 US2400: build-fix: need some IFDEFs for Mixbus. 2021-08-03 10:58:30 -05:00
521117054e US2400: Fix order of mixbuses in Flip mode (Mixbus only) 2021-08-03 10:38:19 -05:00
398a1efbd5 US2400: Fix send levels from joystick ("surround pan" on mixbuses 11,12) (Mixbus32C only) 2021-08-03 10:38:18 -05:00
0b5ab1b570 US2400: Fix direction of pan knob LEDs 2021-08-03 10:38:18 -05:00
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
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
9cbaa31c7e libs fix for get_microseconds() move to libpbd 2021-06-26 18:27:39 -06:00
1b4aaea92a Remove unused private fields (Wunused-private-field) 2021-05-30 20:09:35 -04:00
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
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
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
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
72736289c8
NO-OP: rename API rename
CP selection API is now implemented as functions, not signals.
2020-10-18 14:47:05 +02:00
ad234b1853
US2400: fix pan_azimuth direction by setting rotary flag 2020-06-18 00:19:29 +02:00
bf894d80fb
NO-OP: remove unused #includes 2020-03-21 19:46:38 +01:00
3e77680a57 surfaces transport hotfix: surfaces should query the transport state via BasicUI, when possible 2020-02-23 09:02:25 -06:00
2398f6127f fix up apparent design thinkos in US2400 key binding handler 2020-02-20 12:53:57 -07:00
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
d79d2807b1 expand use of new BasicUI API for transport button state to all control surfaces 2019-12-29 18:53:22 -07:00
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
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
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
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
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
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
2f91bdfa53
NO-OP: <tab> after <space> fixes in libs 2019-04-13 19:19:29 +02:00
4b86d19b27
Add missing semicolon (Mixbus) 2019-04-08 00:22:13 +02:00
acbd12c885 fix all surfaces' available action menus
Note: this replicated code is ridiculous
2019-03-20 14:23:23 -07:00
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
23a98e5f4d remove references to "Editor_menus" which is an action that no longer exists 2019-02-16 13:12:45 -07:00