da9ed129e3
Contourdesign: Implement USB probe/match
2023-05-04 00:20:45 +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
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
7bf89ce109
Constification: make Stateful::get_state() const, with all other required const-ness added (libs)
2022-04-06 21:56:59 -06:00
60be0c27a1
Use updated temporal API 1/2
2021-12-11 14:42:36 +01:00
086e48796c
surfaces: first round of conversion to use timeline types
2021-08-13 12:51:29 -06:00
8e868fc743
remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) (surfaces edition)
2021-05-03 17:40:41 -06:00
Peter Kovář
630a3d07d2
Added support for the original Contour Design ShuttlePRO
2020-06-09 17:29:01 +02:00
3e77680a57
surfaces transport hotfix: surfaces should query the transport state via BasicUI, when possible
2020-02-23 09:02:25 -06:00
47767738b9
rename DoTheRightThing to RollIfAppropriate
2020-01-18 08:49:18 -07:00
3c00048b0c
Session::request_locate() takes a tri-valued second argument for "roll-after-locate"
...
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
2020-01-18 08:49:18 -07:00
212b445628
Shuttle Surface: handle libusb_init() failure
...
USB stack may not be available on some systems, e.g. unit-test VM.
When libusb_init(0) fails to create default context, further calls
into the libusb API will cause segfaults.
2019-09-06 01:37:00 +02:00
97306e089b
Fix thinko/typo bug introduced in e6c9bcfd07
2019-09-05 14:56:39 +02:00
e6c9bcfd07
Prefer to use API defined return status
2019-08-21 03:06:28 +02:00
df60eca33c
Initialize uninitialized variable
...
This fixes a potentially undefined branch if the USB device list is empty.
dev is NULL, the loop is never entered, 'r' isn't set.
if (!dev && !r) is undefined.
2019-08-21 03:05:17 +02:00
6227dd5b04
Shuttle Surface: Fix uninitialized argument in case of incomplete state
2019-08-20 04:18:43 +02:00
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log
2019-08-03 15:53:18 +02:00
Johannes Mueller
af875e0edc
Potential fix for a race.
...
Do proper bounds checks and force the use of operator[] () const
2019-05-30 17:33:36 +02:00
Johannes Mueller
16d6791566
Make ContourdesignControlProtocol::_button_actions private again ...
...
... and add proper bounds checks.
2019-05-30 17:09:33 +02:00
d28dc9ee08
Shuttle Surface: request_factory and MSVC compatible struct
2019-05-25 16:49:19 +02:00
3546a7291b
Shuttle Surface: Fix C++ style: use accessor/setter methods
...
This also fixes C++ compat: no forward declaration of friend classes
(OSX compilation) and C++98 compat (enums are not classes e.g. ActiveState)
2019-05-25 16:49:15 +02:00
Johannes Mueller
b8349069f1
Add support for contourdesign ShuttlePRO v2 and ShuttleXpress
2019-05-18 14:04:38 +02:00