64c9198d60
add group disposition argument to Route::set_gain() and use it in various UIs
...
Executive decisions were necessary in a couple of places about the correct group disposition
behaviour, notably faderport and OSC surfaces
2016-01-18 12:11:09 -05:00
5e4d9612e3
faderport: stop event loop when destroying object
2016-01-14 10:59:27 -05:00
d134ba037d
fix compilation of debug builds
...
ArdourSurface::FaderPort::Button::name is private
2016-01-11 11:07:09 +01:00
530dd4255c
faderport: remove wierd shift use design; make user+shift work again
2016-01-10 23:32:21 -05:00
58edc83d11
tweak/add faderport debug messages
2016-01-07 16:42:57 -05:00
d7078df3eb
amend 9e3299f
for Mixbus
2016-01-03 20:39:47 +01:00
9e3299f97d
change Controllable::set_value() API to include grouped control consideration.
...
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
0d9efc1148
redesign cross-thread registration/signalling system
...
This new design will work even when threads that need to receive
messages from RT threads are created *after* the RT threads. The
existing design would fail because the RT thread(s) would never
be known the later created threads, and so signals emitted by the
RT thread and causing call_slot() in the receiver would end up
being enqueued using a lock-protected list. The new design ensures
that communication always uses a lock-free FIFO instead
2015-12-28 10:14:17 -05:00
ff76ef86b4
faderport: long press on fader mode buttons switches fader automation to manual/off; off button is never sent an LED state message to avoid fader disabling
2015-12-14 14:42:12 -05:00
e928edca32
faderport: fix setup of periodic callback (cut-n-paste error)
2015-12-14 14:41:38 -05:00
d59739d728
faderport: add 100msec (10Hz) periodic update to facilitate automation playback
2015-12-14 13:28:31 -05:00
40a352e8a1
faderport: disable automation state button mapping until (if ever) we can figure out why it kills the fader
2015-12-14 13:28:31 -05:00
cc607fa161
fix DEBUG_TRACE messages from faderport that used MackieControlProtocol via cut-n-paste
2015-12-14 13:28:31 -05:00
14ef6017f6
add a few new actions to Faderport menus, and reorganize them slightly
2015-12-10 17:25:29 -06:00
6c99576250
faderport: stop trying to cache LED state (fixes various bugs); blink mute for muted-by-others; blink transport for speed != 1.0 && != 0
2015-12-08 11:09:50 -05:00
2f48997dfb
remove unnecessary (?) conditional.
...
Given that we use "port" after the test, the test makes no sense
2015-12-07 12:38:17 -05:00
e3d2898c8d
more Faderport debugging, for windows
2015-12-04 18:11:05 -06:00
0a997f62cc
remove spurious printout
2015-12-04 17:32:23 -06:00
e82cc88c6f
faderport: show current User button bindings in GUI
2015-12-03 21:45:41 -05:00
a9ce37b7ac
faderport: fix long press behaviour, and fix ardour-only behaviour with user button when used as a modifier
2015-12-03 18:38:09 -05:00
b07d86ac61
make faderport support report its port bundles as it should
2015-12-03 12:50:32 -05:00
900f59dcde
faderport: generalized blink on/off code
2015-12-03 08:36:56 -05:00
43e5d639cc
Faderport: Punch indictor was being left on after blinking
2015-12-03 07:27:42 -06:00
20facc4d18
Faderport: map automation indicator LEDs
2015-12-02 20:06:29 -06:00
90275ded6a
faderport: a clever hack to make the Shift modifier "sticky"
...
The user can now press+release Shift, then another key OR press Shift, then another key before releasing Shift. Both
event sequences will have the same result
2015-12-02 17:40:58 -05:00
aaebeb3d2b
fix typo in variable name
2015-12-02 00:59:32 +01:00
0544e74fdf
merge from mixbus branch.
...
keep control surfaces special cases upstream.
2015-12-02 00:55:01 +01:00
b0fe298f72
faderport: factor out encoder divider into a const double
2015-12-01 18:47:29 -05:00
ee9524c9b6
faderport: make punch button LED indicate punch status
2015-12-01 18:45:43 -05:00
fd44adfe01
faderport: change panning dividers to give full range across very roughly 270 degrees of rotation
2015-12-01 18:32:55 -05:00
cb965cba16
start tweaks to make Shift sticky; remove Shift-press combobox from gui since we don't allow that to be bound (next-marker)
2015-12-01 16:19:16 -05:00
37961a6bbe
faderport: switch long-press mechanism to a timeout
...
This makes the long press action fire after the timeout even if the user is still holding the button,
which feels more satisfactory
2015-12-01 13:15:38 -05:00
03a4926790
faderport: allow User button to be bound to ANY possible action.
...
This does involve nagivating some really gnarly menus, which is unfortunate, but we don't have a good general
solution for this yet (it is fundamentally the same problem that affects the key binding editor and Mackie support
2015-12-01 11:20:09 -05:00
0e629cd162
faderport: add punch action
2015-12-01 10:35:37 -05:00
0c9fd363ca
faderport: GUI tweaks
2015-12-01 10:35:37 -05:00
daf02e8c73
remove "medium-length" press concept from faderport code and GUI
2015-12-01 09:23:08 -05:00
620f1caf23
faderport: stick a nice little image of the faderport in the surface GUI
...
Ideally, the PNG file would be part of the surface GUI but for now just put the PNG into gtk2_ardour/icons
2015-12-01 09:23:08 -05:00
254c1e2c91
faderport: correctly restore mix/proj/trns state from XML
2015-11-30 20:54:23 -05:00
41d0336f80
faderport: cleanup
2015-11-30 20:34:51 -05:00
f1dd53e37a
faderport: add some "curated" actions for mix, proj and trns; make new bindings use release, not press
2015-11-30 15:05:30 -05:00
b8ed62453f
faderport: restore button actions, and correctly indicate current action in GUI
2015-11-30 13:50:33 -05:00
682e152aaf
faderport: some code cleanups, add timing for button presses, add new comboboxes to GUI to allow more button programming, save button state
2015-11-30 12:51:18 -05:00
149f6795bb
no-op: add comment to faderport button ID definitions
2015-11-29 11:58:36 -05:00
73d1de3b75
NOOP, remove trailing whitespace, replace tabs in python scripts
2015-11-29 17:54:31 +01:00
c6dfb947eb
faderport: add two functioning actions for the mix button
2015-11-29 11:43:14 -05:00
6380403dad
basic structure for Faderport GUI
...
Not fully functional (or sensible yet) but the pieces are all there
2015-11-29 11:33:23 -05:00
bbaa5c6f45
faderport: shift+encoder controls pan width (for ardour only), input trim now controlled by user+encoder.
...
User is now a modifier key
2015-11-27 16:41:26 -05:00
779ec041b5
faderport: basic panning via encoder knob.
...
Doesn't help with 2=>2 panner, where width control is also required
2015-11-27 16:34:01 -05:00
b842495be0
fadeport: make fader touch work
2015-11-27 10:22:01 -05:00
d138f8981d
implement more Faderport buttons (window and fader automation). ToDo: automation LEDs, fader banking
2015-11-25 17:33:49 -06:00