Commit Graph

34 Commits

Author SHA1 Message Date
Ben Loftis ee6d46d403 Ardour repo should not distinguish between Mixbus variants 2024-01-08 08:25:18 -06:00
Robin Gareus 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
Paul Davis f718279949 surfaces & event loops: i really mean no more request buffer factories 2023-04-21 13:55:58 -06:00
Paul Davis 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
Paul Davis 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
Paul Davis 7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06: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
Jan Lentfer d7fed7c52e
LCXL: make sends assignable for 32C
* add an option to the controller configuration gui
      to assign the 3x2 send banks in mixer mode
      to either the upper (1-6) or lower (7-12) Mixbus sends
    * This was a user request to better support the workflow
      of the CoMondo Mix system
2020-02-13 18:32:41 +01:00
Jan Lentfer 260e7ad5a9 LCXL: Make the pan fix nice again 2020-02-12 21:37:52 +01:00
Jan Lentfer cc7eca7453
LCXL: Adopt pan knob behaviour
* "left/right" changed in A6, adopt for this
    * add a pick_up_rev function to honour this
2020-02-09 23:34:20 +01:00
Robin Gareus 365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
Jan Lentfer 05d3539591 LCXL: complete overhaul and Mixbus support 2018-10-17 15:14:59 +02:00
Térence Clastres a33a5cdeaf LCXL: Assign one callback function per Knob/Fader 2018-10-17 15:14:59 +02:00
Jan Lentfer eff7a51de1 LCXL: Refactor code to use boost::shared_ptr 2018-09-04 18:55:49 +02:00
Jan Lentfer fdbce2e8c8 LCXL: add visual feedback for sec button functions
also add some little fixes in regard
    to fixing master fader on controller
    fader no 8
2018-08-25 22:51:31 +02:00
Robin Gareus 3136b20847 Cleanup various design patterns.
* do not use implicit bool-to-int-cast
* avoid C++11 member initialization in header
* always use set and access methods, remove public variable
2018-08-24 16:55:00 +02:00
Térence Clastres 6bd81ee3c7 Revert "LCXL: Fast skip to first/last stripable with left/right long press"
This reverts commit 27b05f4d8d.
2018-08-22 22:40:57 +02:00
Jan Lentfer b80e079353 LCXL: fix some more typos 2018-08-22 19:50:51 +02:00
Térence Clastres 27b05f4d8d LCXL: Fast skip to first/last stripable with left/right long press 2018-08-19 01:37:35 +02:00
Jan Lentfer 74ad41f8d9 LCXL: Add configuration option for handling master
In the Controller's settings you can now
    choose between two operation modes:
    1)  8 track mode
    2)  7 track plus master mode

    In case 2) fader 8 is fixed on the master
2018-08-18 23:06:32 +02:00
Térence Clastres 51b5c01b8b Add knob leds and refine colors 2018-08-18 20:49:17 +02:00
Jan Lentfer c2b4f19612 LCXL: fix typos in function names 2018-08-18 18:12:18 +02:00
Jan Lentfer 4789147482 LCXL: split track focus button and led code 2018-08-18 18:12:18 +02:00
Térence Clastres 7c6c8ac270 Attempt to make some function's names more explicit 2018-08-15 18:48:32 -04:00
Jan Lentfer d3e7fa0ebf LCXL: implement mute, solo and record arm toggles
Holding the Device button and pressing one
    of mute, solo and record arm will toggle
    selected tracks (use Track Focus buttons)
    accordingly.
2018-08-13 14:53:43 -04:00
Térence Clastres dab2513d9f Add pick-up mode and use it for knobs and faders
The pick up mode ignores new controller values until they match with the current setting of the stripable's ac
2018-08-13 13:57:06 -04:00
Térence Clastres a9958840b0 Add reset method and use it during start-up/shutdown 2018-08-09 21:05:55 +02:00
Robin Gareus 149dc68809 Fix invalid C++11isms: don't use of enum as class or namespace 2018-08-07 15:48:39 +02:00
Robin Gareus 8fa62f102e Fix C++98 compatibility error
'>' should be '> >' within a nested template argument list
2018-08-07 15:44:30 +02:00
Robin Gareus 6d983d5f0b Fix -Wnon-virtual-dtor
`struct ArdourSurface::LaunchControlXL::LED' has virtual functions
and accessible non-virtual destructor [-Wnon-virtual-dtor]
2018-08-07 15:36:22 +02:00
Robin Gareus c4d25037c4 Fix invalid use of enum as class or namespace. 2018-08-07 15:34:03 +02:00
Robin Gareus f0105dafc1 NO-OP: whitespace 2018-08-07 15:30:26 +02:00
Térence Clastres 8c7a1e004b Add Launch Control XL control surface support 2018-08-07 04:16:09 +02:00