13
0
Commit Graph

2456 Commits

Author SHA1 Message Date
baf307838c push2: change ordering within destructor to avoid event loop thread drawing-after-delete 2023-05-04 12:34:37 -06:00
336f51e1f0
Push2: implement MIDI port probing, auto-enable 2023-05-04 00:57:16 +02:00
da9ed129e3
Contourdesign: Implement USB probe/match 2023-05-04 00:20:45 +02:00
a8f5f5636f
FP8: implement MIDI port probing, auto-enable 2023-05-04 00:20:38 +02:00
97272481b8
CPM: Activate hotplugged libusb ctrl-surface 2023-05-04 00:20:31 +02:00
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
8629aea237 push2: shift held while using touch strip sends modulation, not pitch bend 2023-04-21 17:20:17 -06:00
f718279949 surfaces & event loops: i really mean no more request buffer factories 2023-04-21 13:55:58 -06:00
ba66381ab0 push2: remove unused member 2023-04-21 12:16:37 -06:00
295dbd8e1e
Make RCU reader return a const pointer (omnibus commit) 2023-04-08 00:15:37 +02:00
2713c40b7d extend midi-controllable params with new well-known-controls 2023-04-06 14:52:09 -05:00
8c2454238e
Remove explicit well-known ctrl enum string functions
This is better provided by Plugin::print_parameter, which
is called by PluginControl::get_user_string(). This removes
special cases for the mode enums.
2023-03-29 17:32:22 +02:00
c1d6456d58
FP8: fix duplicate makeup control 2023-03-29 16:39:32 +02:00
886d7b9069
FP8: update for Mixbus v9
* add expander/gate
* show/hide mixer-strip controls
* add plugin-presets for channelstrip (if any)
2023-03-28 00:32:02 +02:00
9ef6ee21de
FP8: show value as formatted by the plugin 2023-03-28 00:31:45 +02:00
dad40f960d fixup various mistakes when rebasing boost->std shared_ptr changes 2023-03-24 14:19:16 -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
39ed528e25 std-ize: convert all boost shared/weak ptr includes to <memory>
Also fix stdint.h -> cstdint and alphabetically order std includes
2023-03-24 14:19:15 -06:00
0b50bec6f4 MCU: Update view modes for Cue, Foldback, and VCA
This changes the function of the Inputs, Instruments, and Outputs
buttons as follows:

Inputs = Cue Tracks
Instruments = VCA
Outputs = Foldback Busses
2023-03-13 12:21:49 -05:00
alex
4ca947f078 changed parantheses and lines 2023-03-06 00:43:34 +01:00
alex
777c7c6c03 added trackcolors to X-Touch, added _is_xtouch to device info as condition for trackcolors 2023-03-06 00:08:38 +01:00
2c7f8eeb97
Indicate UTF8 literals - fixes glyph rendering with MSVC (1/2) 2023-01-16 21:41:09 +01:00
Marijn Kruisselbrink
bf7f6386d5
Re-enable lib/ardour/test/session_test.
This test seems to be compiling and passing just fine (when run in
isolation), so turning it back on seems like a good idea. To make it
pass when run as part of the full ardour test suite, this does remove
the WebSockets control surface from the control surfaces test though, as
that control surface messes up the event loop of the main thread, which
would otherwise cause use-after-free crashes in the session test.
2023-01-02 20:31:12 +01:00
7e9f29e888
FP8: directly cancel solo (do not rely on GUI) 2022-12-26 13:33:19 +01:00
eb1373404a
FP8: do not reset fader to unity on re-selecting
This disables the feature added in 057fd9259e.
The idea was to use double-click to reset the fader (like
Harrison consoles). Simply re-select can lead to accidents.
2022-12-13 18:01:27 +01:00
bd091906ac
Fix OSC/liblo zeroconf, properly query server URL 2022-12-13 17:15:54 +01:00
d704572ed5
FP8: fix monitor control
monitor_active() is the wrong API (it checks if any
monitor-bus settings are enabled or used).
2022-12-13 17:14:52 +01:00
9403b116ad Mackie: make AudioInstruments button work correctly
Also toggle Global View LED appropriately
2022-12-10 10:32:47 -07:00
716501defa potential fix for "/bus/... master ..." target in MIDI binding maps failing 2022-12-06 11:11:08 -07:00
7d928bf265
Announce OSC via mDNS 2022-12-02 17:34:10 +01:00
aae15e3c90
Fix Wreorder, initialize variables 2022-12-02 13:13:13 +01:00
d903bcff17
Disambiguate "types.h" (see also 705386842b) 2022-11-20 00:32:55 +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
a6f8f2dd9e
Consolidate search/file-system paths (fixes vst builds)
Keep file-system paths and PBD::Searchpath mostly separate.
This amends 58c2b0a848 libs/fst directly includes relevant
ardour C++ code, so lib/fst must not link against libardour.

The problem was that 58c2b0a848 introduced additional
dependencies on other libardour functions.
2022-11-19 00:48:11 +01:00
d521c2ede6
src-tree cleanup: separate surfaces from libraries
libardourcp and now libardour_midisurface are not control
surfaces, but helper libraries for those.
They need to be deployed to the library folder (shared between
ctrl surfaces) and not scanned as ctrl surfaces at runtime.
2022-11-19 00:09:17 +01:00
58c2b0a848 move midi maps folders and file extension out of control surfaces library 2022-11-18 14:04:59 -07:00
Gon Solo
85a45b2645
Fix missing glib include path 2022-11-17 03:21:25 +01:00
a130041547 use MIDISurface in original Faderport support, plus required changes in MIDISurface & Push 2 2022-11-16 08:37:57 -07:00
e5bbccef28 various changes to get Push 2 surface support functional after inheriting from MIDISurface 2022-11-16 08:37:57 -07:00
99712e7585 surfaces; convert push2 to inherit from MIDISurface 2022-11-16 08:37:57 -07:00
4fbf3028aa basic skeleton for new MIDISurface base class 2022-11-16 08:37:57 -07:00
7038e586d0 OSC: add support for Mixer Scenes: save, recall, and state feedback 2022-11-07 10:28:30 -06:00
0bda71b40b BasicUI: Add simple functions to store and recall Mixer Scenes 2022-11-07 10:28:30 -06:00
6813884857
Restore custom generic midi settings #9062
DeviceInfo (bindings file) can include explicit motorized
and threshold settings. These values, when specified, are
used during load_bindings() during set_state and overwrote
any user customization.

Furthermore showing the GUI invalidated any prior setting
by explicitly calling binding_changed, which re-applies.
2022-11-02 17:44:00 +01:00
c6dade9484 OSC: implement controls and feedback for a banked trigger grid controller
(first iteration ... API may change)
2022-11-01 13:52:54 -05:00
bdf9cedb0e triggers: implement grid banking in BasicUI so it can be shared (?) 2022-11-01 13:52:54 -05:00
0851d230cd basic_ui: add convenience functions to access an NxM bank of triggers 2022-11-01 13:52:54 -05:00
c23210aae8 various fixes to prevent BasicUI diverging from GUI behaviors 2022-11-01 13:52:54 -05:00
bdacfb8724 Fix invalid use of Doxygen "@param" command
This is never for inline references to parameters, only for starting parameter
documentation blocks.  The "@p" command is for this, although unfortunately
Doxygen doesn't actually do anything with it and it's just an alias for code
text.
2022-10-30 20:44:28 -04:00
2939ed3164
Add dedicated InsertReturnLevel type
This is preparation for PortInsert Send and Return
level control.
2022-10-14 02:21:49 +02:00
f3423b8a77
Consolidate send/delivery gain control
This moves the _amp from send to delivery (which already
applies gain for the master-bus normalization). This generalizes
the use of a gain stage for use in port-inserts.
2022-10-14 02:21:49 +02:00
3c0820e36e move default_triggers_per_box into a namespace ; change value for Ardour to 16 2022-10-04 19:55:05 -06:00
a0c93328ea push2: fix intended behavior of push2 "lower buttons" 2022-10-03 15:41:50 -06:00
42a4216f22 osc: publish session-provided trigger functions: bang/unbang 2022-10-01 09:13:14 -05:00
7fe7adb83c push2: adapt to new unbang and 'stop' semantics (needs testing) 2022-10-01 09:13:14 -05:00
6c292a83da basic_ui: use session-provided bang/unbang functions 2022-10-01 09:13:14 -05:00
1e283adb22 disambiguate trigger functions: stop_all_triggers -> trigger_stop_all 2022-10-01 09:13:14 -05:00
75ae0fd4b1 disambiguate trigger functions: cue_bang -> trigger_cue_row 2022-10-01 09:13:14 -05:00
be28c9ff88 osc: add functions to trigger cue rows, and stop all triggers 2022-10-01 09:13:14 -05:00
9a34d15b3c
Fix crash when disabling generic MIDI surface
The event-loop has to be stopped before unregistering ports
and deleting the instance.
2022-09-30 01:58:24 +02:00
0cd87a917c push2: apply concept in 0af0e3a8e8 to push2 code (unused follow action icon) 2022-09-22 09:20:01 -06:00
af28394bfd push2: fix an apparent bug in cairo when drawing follow action icons
It seems that using ::move_to() followed by Pango::Layout::show_in_cairo_context() leaves
the context in a state that is not correctly restored when using ::restore(). Therefore,
clear the path to avoid leaving any dangling current point
2022-09-22 00:43:38 -06:00
10ac1901dd push2: temporarily comment display of jump loop actions due to cairo oddity 2022-09-07 17:03:08 -06:00
1eab84b7da push2: remove unconditional setting of canvas item names 2022-09-03 17:48:03 -06:00
4863e6b45e Fix mac and windows builds (resolve namespace ambiguities) 2022-09-04 01:37:48 +02:00
97540dafde push2: update cue layout when tracks are added 2022-09-03 16:46:41 -06:00
2d4042abd7 push2: fix handling of pads-as-note-entry during selection changes 2022-09-03 16:46:41 -06:00
b3b6e94297 push2: fix canvas level meter object so that it draws 2022-09-03 16:46:41 -06:00
b7d86cb118 push2: track mix layout needs to be setup even if not currently visible 2022-09-03 16:46:41 -06:00
96a9c1df7f push2: bug fixes for pad color mgmt and other fixes/improvements 2022-09-02 17:57:46 -06:00
49e6066306 Fix mac and windows builds (resolve namespace ambiguities) 2022-09-02 12:44:44 +02:00
f8312cacc4 add back Rect -> ArdourCanvas::Rect define 2022-09-01 22:03:11 -06:00
55ff73a2ad fix clang/macos compilation 2022-09-01 16:23:12 -06:00
cbbc6f9b84 push2: use vector of pads rather than map when shutting down 2022-08-31 10:23:12 -06:00
253dac007d push2: fully init and de-init buttons and pads at startup and shutdown 2022-08-31 10:22:24 -06:00
681ca38848 push2: fix a couple of potential crashes 2022-08-31 10:11:02 -06:00
678ed40bd3 push2: fix pad colors etc. after layout switches 2022-08-30 21:37:16 -06:00
748fbf6fb1 push2: add follow action icons to display 2022-08-30 16:51:34 -06:00
6986c18163 push2: add clip names to display and slightly shift progress circle 2022-08-28 22:37:31 -06:00
b98ec59ed8 push2: another bunch of Live-chasing functionality for trigger control 2022-08-28 18:58:50 -06:00
a06ed85269 push2: prep for triggerbox property changes 2022-08-27 21:21:22 -06:00
f6cfa3c3e1 push2: let's not crash 2022-08-27 16:25:09 -06:00
741ff552a0 push2: start tracking route properties in cue layout 2022-08-27 16:22:07 -06:00
06abdb4c4e push2: vector, not map 2022-08-27 16:03:01 -06:00
6627d24c2b push2: add an (x,y) map for pads and use it 2022-08-27 15:53:03 -06:00
a5dd6c1128 push2: lots more clip control functionality and display 2022-08-27 12:55:16 -06:00
b10a99dcad push2: clip stop ala Live 2022-08-27 08:32:15 -06:00
19db8f9c68 control protocols: fix design of trigger unbang method 2022-08-27 08:32:03 -06:00
3cffca9178 control protocols: add trigger unbang method 2022-08-27 08:26:08 -06:00
8ed8895439 push2: launch clips with pads 2022-08-27 08:15:40 -06:00
26c48aae1b control protocols: add trigger bang method to BasicUI 2022-08-27 08:15:17 -06:00
092fdb5b46 push2: turn off scene buttons when appropriate 2022-08-26 19:31:15 -06:00
1ecdeb25a7 push2: an ever-growing array of cue-related support 2022-08-26 19:23:43 -06:00
f835fb279a push2: don't like the clip button since it does nothing 2022-08-26 17:40:41 -06:00
f57669fbde push2: rename things to match the rest of ardour, and use Session button not Clip
the clip button is intended to "look at" a single clip and edit it
2022-08-26 17:40:04 -06:00
17b0764639 push2: clip view actually visible via button on surface 2022-08-26 16:39:36 -06:00
dd2442b0c2 push2: skeleton for new clip view layout 2022-08-26 16:15:32 -06:00
58d262384b fix error during rebase fixup 2022-08-26 14:49:29 -06:00
7670f87d0a Push2: Use condensed font to avoid overlap in scale menu 2022-08-26 14:10:40 -06:00