Paul Davis
900f59dcde
faderport: generalized blink on/off code
2015-12-03 08:36:56 -05:00
Ben Loftis
43e5d639cc
Faderport: Punch indictor was being left on after blinking
2015-12-03 07:27:42 -06:00
Ben Loftis
20facc4d18
Faderport: map automation indicator LEDs
2015-12-02 20:06:29 -06:00
Paul Davis
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
Paul Davis
ee9524c9b6
faderport: make punch button LED indicate punch status
2015-12-01 18:45:43 -05:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
0e629cd162
faderport: add punch action
2015-12-01 10:35:37 -05:00
Paul Davis
daf02e8c73
remove "medium-length" press concept from faderport code and GUI
2015-12-01 09:23:08 -05:00
Paul Davis
254c1e2c91
faderport: correctly restore mix/proj/trns state from XML
2015-11-30 20:54:23 -05:00
Paul Davis
41d0336f80
faderport: cleanup
2015-11-30 20:34:51 -05:00
Paul Davis
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
Paul Davis
b8ed62453f
faderport: restore button actions, and correctly indicate current action in GUI
2015-11-30 13:50:33 -05:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
b842495be0
fadeport: make fader touch work
2015-11-27 10:22:01 -05:00
Ben Loftis
d138f8981d
implement more Faderport buttons (window and fader automation). ToDo: automation LEDs, fader banking
2015-11-25 17:33:49 -06:00
Paul Davis
e1794ae678
faderport: simpler logic for master/monitor/other
...
When choosing master or monitor, do NOT save master or monitor as the pre_{master,monitor}_route under
any circumstances. This means that master/monitor choices do not stack, and just switch between them.
2015-11-25 17:56:22 -05:00
Paul Davis
e1ea14f10a
faderport: handle mute for monitor out by using monitor processor ops; try to blink mute button when cut-all is in effect.
...
Still some logic bugs when switching between master, monitor and other
2015-11-25 17:20:00 -05:00
Paul Davis
104ec39b50
faderport: enable "Output" button to select master out (or, with Shift, monitor out if it exists) as the target route
2015-11-25 16:34:11 -05:00
Ben Loftis
487ada6630
handle encoder changes. shift+knob = input trim. ToDo: panner control
2015-11-25 14:52:58 -06:00
Paul Davis
4e014da61a
cruft removal from faderport code
2015-11-25 13:37:00 -05:00
Paul Davis
dd6cbac20e
faderport: implement fader support
2015-11-25 13:37:00 -05:00
Paul Davis
fe06e3b7e8
faderport: track GUI selection, use first selected route; implement mute, solo, rec
2015-11-25 12:38:22 -05:00
Paul Davis
000b11dc4d
faderport: more global button functions added
2015-11-24 23:41:10 -05:00
Paul Davis
7ae380c7f6
faderport: more interesting behaviour for the play button (locate to last start if pressed while rolling, then keep rolling)
2015-11-24 23:31:29 -05:00
Paul Davis
9c64d63ebb
clarify a DEBUG_TRACE remark
2015-11-24 23:29:03 -05:00
Paul Davis
e7a3a5ab9c
faderport: make loop, prev marker, next marker and marker buttons do stuff
2015-11-24 23:27:55 -05:00
Paul Davis
35577f439d
add debug "bits" for FaderPort
2015-11-24 23:20:39 -05:00
Paul Davis
2ea4d5c7b5
faderport: allow forcing LED state for use in ::all_lights_out()
2015-11-24 23:13:02 -05:00
Paul Davis
34d847e060
faderport: fix modifiers for rewind, stop, undo etc ; listen to session transport signals and display state with button LEDs; add blinking
2015-11-24 23:06:19 -05:00
Paul Davis
3a86b386fa
fadeport: restructure button info actions to allow modifiers (shift, rewind, stop) and set up undo and shift-undo (redo)
2015-11-24 22:32:40 -05:00
Paul Davis
7c8cc3cfa9
give the faderport its own thread and event loop, rather than riding on the back of the MIDI UI thread in libardour
2015-11-24 21:41:44 -05:00
Paul Davis
8765359db2
faderport: after connecting, turn off all lights, then party with them, then turn them all off
2015-11-24 21:10:22 -05:00
Paul Davis
84ebad120e
add some faderport infrastructure for button handling, and bind up the transport functions to their obvious methods
2015-11-24 21:02:18 -05:00
Paul Davis
9106512000
namespace and filename cleanup
2015-11-24 20:12:12 -05:00
Paul Davis
ff62cec27d
remove debugging output
2015-11-24 18:20:24 -05:00
Paul Davis
b280301a65
create data structure to handle the fact that faderport firmware 1.38 uses different button IDs for input and output (!!!)
2015-11-24 18:20:07 -05:00
Paul Davis
a15cf9f0b3
get faderport i/o working, basics of identifying control activity
2015-11-24 18:00:11 -05:00