f7968f15dd
LCXL: Fix uninitialized pointer function
...
See also 026b74e25d
. FilterFunction must point to a valid function.
2019-08-24 00:01:28 +02:00
026b74e25d
Fix potential call of uninitialized pointer function
...
_template_number can be set via sysex to an arbitrary number, this
can lead to calling a filter-function at an undefined address, usually
a segfault.
2019-08-21 03:53:46 +02:00
c38c91ddbd
Initialize variable, fix branch condition
2019-08-21 03:09:32 +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
df2917568d
OSC: foldback buses should be able to be mono
2019-08-06 11:12:19 -07:00
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log
2019-08-03 15:53:18 +02:00
43fe5c0487
Update Push2 level-meter display (use new API)
...
The meter-type is now implicit set by route/meter-processor, common
to all UIs.
2019-06-09 19:56:33 +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
203b249135
Shuttle Surface: fix linking .dll
...
For .dll, all references need to be defined at compile/link time
(not runtime). ie. `ld -zdefs`
2019-05-26 12:46:37 +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
e61c4b692b
Use ActionModel also in ContourDesign surface
2019-05-19 16:43:48 +02:00
Johannes Mueller
0c3112aed1
Some frame -> sample changes in UCS2400
2019-05-18 16:36:49 +02:00
Johannes Mueller
b8349069f1
Add support for contourdesign ShuttlePRO v2 and ShuttleXpress
2019-05-18 14:04:38 +02:00
Johannes Mueller
89f39d14f2
Add some options for surfaces to jump in the timeline
...
* ::jump_by_beats()
* request transport to keep rolling after jump
2019-05-18 13:27:49 +02:00
3e7e89db8f
Fix some actions that moved from Common to Editor.
2019-05-13 09:20:17 -05:00
9ac18a8e0f
Generic-MIDI ctrl: tweak pitch-bend message behavior
...
Add support for smoothing, ignore message when controllers are
not in sync to avoid discontinuous jumps.
This is mainly useful for Mackie-like devices that use pitch-bend
messages for faders.
see also https://discourse.ardour.org/t/feature-lazy-sliders/100961
2019-05-09 16:06:00 +02:00
5bde8f4456
Tweak initial generic-midi sync/smoothing
...
"last_controllable_value" is using midi value range (0..127).
It is used to compare received midi-value with the actual controllable
for non-motorized surfaces, and this change allows the first
event to already be in_sync.
Previously the first MIDI-event was usually ignored (because
last_controllable_value was out of bounds or didn't match the 0..127
range.
2019-05-05 02:49:53 +02:00
Johannes Mueller
ce47ec411a
Make use of ActionModel::build_custom_action_combo()
2019-04-20 22:36:51 +02:00
Johannes Mueller
73f8b8d982
Use ActionModel::build_action_combo() for Control Surfaces that need it
2019-04-20 15:25:32 +02: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
Johannes Mueller
8cbbd3dd00
Fadeport: Fix User button state save and restore
...
Since we (since ddfc37e4
) set the UserDown flag for the User button actions, we
need to set it also when we lookup actions when saving the state.
Furthermore, we need also look for the UserDown flag, when we set the state
of the configuration combos for the User button.
2019-04-20 00:15:20 +02:00
Johannes Mueller
23b196952b
Fix restoring of CC121 configuration
...
The button ids are in the children of the cc121 protocol node, not in the
protocol node itself.
2019-04-20 00:12:59 +02:00
2f91bdfa53
NO-OP: <tab> after <space> fixes in libs
2019-04-13 19:19:29 +02:00
a5009bfed3
Indicate automation-latch as "touch" on the CC121
...
Without a dedicated "Latch" control, this does at least consistently
indicate "Touch", rather than show some arbitrary LED state.
2019-04-08 02:05:36 +02:00
eeb2cddd26
NO-OP: indent
2019-04-08 00:29:13 +02:00
4b86d19b27
Add missing semicolon (Mixbus)
2019-04-08 00:22:13 +02:00
925d25851d
Fix OSC crash when there's no master bus
2019-04-03 03:35:13 +02:00
6d335be418
Indicate automation-latch as "touch" on the FP1
...
The FP1 does not have a dedicated "Latch" control, but this does
at least consistently indicate that Touch, rather than show some
arbitrary LED state.
2019-04-01 22:30:16 +02:00
50e8c4d529
Expose Latch automation mode to MCUs
2019-04-01 22:28:07 +02:00
3448f3151e
NO-OP: whitespac
2019-03-23 17:35:26 +01:00
c97116083f
Fix generic-midi controllable race-condition
...
Continued work after e9b36f2bea
. Prefer a shared_ptr<>.
MIDIControllable::write_feedback() runs in realtime context, directly
from the main process-thread. Synchronizing weak-pointers and deletion
across threads does not work reliably. Retaining a shared_ptr<> for
controllables that are in use can solve this.
2019-03-23 16:32:48 +01:00
73029d45ba
Re-add global lookup for generic-midi ctrl state
2019-03-23 04:24:39 +01:00
e9b36f2bea
Update GenericMidiControlProtocol to use shared/weak Controllable pointers
...
This fixes a race-condition when a controllable is deleted
while sending feedback to the device.
Previously there was a race-condition MIDIControllable::write_feedback()
triggered from rt-thread, processed in Surface-thread and deleting
a route or processor.
This is a first step, currently state-restore is not fully functional
session->controllable_by_id() does not cover all Controllables.
2019-03-23 02:09:39 +01:00
baed14c17e
Prepare PBD::Controllable API cleanup (remove only registry user)
2019-03-23 01:41:55 +01:00
9a1c22d7e1
Remove unusued API Create/Delete Binding
2019-03-23 01:28:23 +01:00
acbd12c885
fix all surfaces' available action menus
...
Note: this replicated code is ridiculous
2019-03-20 14:23:23 -07:00
cf2fa0ae84
fix Mackie available action menu
2019-03-20 13:05:35 -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
4667ca962b
Mixer/show-editor is now Common/show-editor
2019-03-19 10:42:05 -05:00
a3986f703d
reorder #include directives
2019-03-18 22:58:24 -07:00
7054b2ffc7
switch remaining use of Common/ToggleMixerList to Mixer/ToggleMixerList
2019-03-18 10:58:02 -07:00
Jan Lentfer
dfda5eab82
LCXL:Disable global mute/solo/recarm in device mode
2019-03-06 09:28:25 +01:00
23a98e5f4d
remove references to "Editor_menus" which is an action that no longer exists
2019-02-16 13:12:45 -07:00
56e950b189
rename Main_menu action to Main menu
...
So that if it ever does show up in a list, it looks nice
2019-02-16 13:05:41 -07:00
586792fcc9
NO-OP: whitespace
2019-01-21 14:36:59 +01:00
657e976a80
NO-OP: remove unused code
2019-01-21 14:34:19 +01:00