Commit graph

859 commits

Author SHA1 Message Date
Paul Davis
3d79e3c116 adjust generic MIDI surface support to (1) properly use boost::shared_ptr<Port> (2) detect connection changes 2015-12-07 12:38:17 -05:00
Paul Davis
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
Ben Loftis
e3d2898c8d more Faderport debugging, for windows 2015-12-04 18:11:05 -06:00
Ben Loftis
0a997f62cc remove spurious printout 2015-12-04 17:32:23 -06:00
Paul Davis
e82cc88c6f faderport: show current User button bindings in GUI 2015-12-03 21:45:41 -05:00
Paul Davis
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
Paul Davis
b07d86ac61 make faderport support report its port bundles as it should 2015-12-03 12:50:32 -05:00
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
Ben Loftis
16a100703b GenericMidi: Partially working IO selectors.
2 remaining problems:
*  IO selectors are not updated if you change the connection outside the dialog.
*  occasional crash on the next startup, after a connection is made from the menu.
2015-12-02 19:18:22 -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
Robin Gareus
ba02c171f1 add session safeguards to OSC callbacks 2015-12-02 22:40:36 +01:00
Johannes Mueller
f11e18555e Cleanup to make it coding style compliant. 2015-12-02 22:38:29 +01:00
Johannes Mueller
4a429fab0e Add support to signal the transport state by OSC
Implement transport_speed in the same style like transport_frame. Up to
now transport_speed and record_enabled are implemented.
2015-12-02 22:38:29 +01:00
Robin Gareus
aaebeb3d2b fix typo in variable name 2015-12-02 00:59:32 +01:00
Robin Gareus
0544e74fdf merge from mixbus branch.
keep control surfaces special cases upstream.
2015-12-02 00:55:01 +01:00
Paul Davis
b0fe298f72 faderport: factor out encoder divider into a const double 2015-12-01 18:47:29 -05:00
Paul Davis
ee9524c9b6 faderport: make punch button LED indicate punch status 2015-12-01 18:45:43 -05:00
Paul Davis
fd44adfe01 faderport: change panning dividers to give full range across very roughly 270 degrees of rotation 2015-12-01 18:32:55 -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
0c9fd363ca faderport: GUI tweaks 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
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
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
149f6795bb no-op: add comment to faderport button ID definitions 2015-11-29 11:58:36 -05:00
Robin Gareus
73d1de3b75 NOOP, remove trailing whitespace, replace tabs in python scripts 2015-11-29 17:54:31 +01:00
Paul Davis
c6dfb947eb faderport: add two functioning actions for the mix button 2015-11-29 11:43:14 -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
Len Ovens
3893f62657 Mackie Control: Disable Selected group in User/Selected view mode to allow individual adjustment. 2015-11-26 06:55:25 -08: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
Robin Gareus
d6186fba32 use human readable port-names in Mackie config. 2015-11-26 00:30:52 +01: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
9cbab4070f faderport: fix odd interaction when selecting master-then-monitor or monitor-then-master and toggling back 2015-11-25 16:55:14 -05:00
Paul Davis
1450fc07c1 faderport: fix odd interaction when selecting master-then-monitor or monitor-then-master and toggling back 2015-11-25 16:51:53 -05:00
Paul Davis
d53993fd83 faderport: output button is a toggle between master (or monitor) and currently used route 2015-11-25 16:47:20 -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