Commit graph

56 commits

Author SHA1 Message Date
Paul Davis
eb3f50e15c change the way ControlProtocols (control surfaces) are notified and handle Stripable selection changes
The Editor continues to notify them, but via a direct call to ControlProtocolManager, not a signal.
The CP Manager calls the ControlProtocol static method to set up static data structures holding
selection info for all surfaces and then notifies each surface/protocol that selection has changed.
2017-05-12 14:51:39 +01:00
Paul Davis
687ac2d294 remove unused variable 2016-10-17 15:58:39 -04:00
Paul Davis
1b830f2604 reorganize push 2 code and logic to better handle device arrival after program startup
Note: we do not handle device departure correctly yet, mostly because the shadow (pad) port has a retained
reference somewhere
2016-09-30 11:23:01 -04:00
Paul Davis
67e415e14c make Ben's cool range select hack work with Push 2 2016-09-28 11:28:45 -05:00
Paul Davis
b6e62c6654 move mode/scale/key definitions out of push2 code and into libardour; Aeolian is the same as Minor 2016-09-28 10:47:17 -05:00
Paul Davis
ae01ac2384 update pad colors when selected track colors chane 2016-09-27 14:59:32 -05:00
Paul Davis
69a789c513 push2: make quantize and duplicate buttons do something useful 2016-09-27 14:59:31 -05:00
Paul Davis
f35c5fd5a6 push2: master button now does something useful 2016-09-27 14:59:31 -05:00
Paul Davis
f12150a1ed push2: always use a contrasting color when flashing played pads 2016-09-27 14:59:31 -05:00
Paul Davis
cb340bf190 push2: when playing pads, flash all pad LEDs for the same note number for the pressed pad 2016-09-27 14:59:31 -05:00
Paul Davis
13295cf060 use ArdourCanvas::Color not uint32_t for push2 color decls 2016-09-27 14:59:31 -05:00
Paul Davis
6f2ac5d6ad push2: various changes in support of menus and scale mode 2016-09-27 14:59:31 -05:00
Paul Davis
216ce7bcb8 a slew of unconnected mostly minor tweaks to get Push2 support back to where it was...
... prior to using the canvas for the video screen
2016-09-27 14:59:31 -05:00
Paul Davis
b835486170 tweaks and so forth to get first canvas-based rendering to Push2 display 2016-09-27 14:59:31 -05:00
Paul Davis
7c9f3acc60 first compiling and theoretically correct version of Push2 canvas display.
Not tested with device at this point
2016-09-27 14:59:31 -05:00
Paul Davis
b822d8be36 basic code to get/set pressure mode to/from the push2 2016-09-27 14:59:31 -05:00
Paul Davis
11843e00ba continuing work on refining push2 mix layout 2016-09-27 14:59:31 -05:00
Paul Davis
b830965288 push2: steps toward a more ableton-like layout in mix mode 2016-09-27 14:59:31 -05:00
Paul Davis
4cc71d2966 push2: parameterize and centralize colors 2016-09-27 14:59:31 -05:00
Paul Davis
ccbe1797d6 push2: color palette management, and responding to 2 track properties in TrackMix layout 2016-09-27 14:59:31 -05:00
Paul Davis
a4324d79a7 push2: add a little meat to the bones of the TrackMix layout (just a name, for now) 2016-09-27 14:59:31 -05:00
Paul Davis
2689458500 push2: rearrange and separate header file material 2016-09-27 14:59:31 -05:00
Paul Davis
64d390ff13 push2: remove unneeded maps from Push2 object 2016-09-27 14:59:30 -05:00
Paul Davis
14d80ec5f8 refactor Push2 GUI into modular "layouts" that encapsulate a given screen, its drawing and event handling 2016-09-27 14:59:30 -05:00
Paul Davis
86578ea0cc push2: first somewhat operational versions of menus 2016-09-27 14:59:30 -05:00
Paul Davis
b37531e04f push2: basics of 4x 4x4 percussive mode, similar to MPC (and vaguely to Live) 2016-09-27 14:59:30 -05:00
Paul Davis
b31df0db2c add bundle support to push2 2016-09-27 14:59:30 -05:00
Paul Davis
33a2995fd8 push2: save and restore push2 pad state, etc. 2016-09-27 14:59:30 -05:00
Paul Davis
70477e6fed push2: almost fully operational ableton style pad mapping, etc 2016-09-27 14:59:30 -05:00
Paul Davis
2aec2161f9 push2: initial sort of working pad remapping 2016-09-27 14:59:30 -05:00
Paul Davis
597c737ab5 push2: get automatic pad connection to selected MIDI track working again 2016-09-27 14:59:30 -05:00
Paul Davis
afef816a7b push2: use a map for direct lookup of pad note 2016-09-27 14:59:30 -05:00
Paul Davis
66453868cd push2: update GUI pad display when octave shift is used, or pad map is changed 2016-09-27 14:59:30 -05:00
Paul Davis
eff67c8a8f push2: basics of octave shifting 2016-09-27 14:59:30 -05:00
Paul Davis
cf28d71783 push2: basic GUI dialog 2016-09-27 14:59:30 -05:00
Paul Davis
67620c353f push2: connect first selected track to pad port (and disconnect).
Provisional. Lots of (fun) work to do here
2016-09-27 14:59:30 -05:00
Paul Davis
eb43344cf6 use modified add_shadow_port API(); make pads flash when pressed 2016-09-27 14:59:30 -05:00
Paul Davis
1448be481f push2: splash screen
Coded while the paint prep dries in the sun
2016-09-27 14:59:29 -05:00
Paul Davis
169cf294c5 push2: expose page right/left buttons for scrolling; use right/left for banking; mute+solo debugging in place 2016-09-27 14:59:29 -05:00
Paul Davis
3932f07b6b push2: numerous changes, including long press actions 2016-09-27 14:59:29 -05:00
Paul Davis
f699773490 clear button states at startup *and* shutdown 2016-09-27 14:59:29 -05:00
Paul Davis
2afb7f1a30 basic implementation of scrubbing via push2 touch strip 2016-09-27 14:59:29 -05:00
Paul Davis
6691975031 gain automation implemented.
Push 2 is rather slow to send touch-end messages.
2016-09-27 14:59:29 -05:00
Paul Davis
c26de72870 use encoders for gain control 2016-09-27 14:59:29 -05:00
Paul Davis
f290be21ee use right-side buttons to goto_nth_marker() 2016-09-27 14:59:29 -05:00
Paul Davis
93dd5414d6 beginning of stripable control; solo+mute mostly operational 2016-09-27 14:59:29 -05:00
Paul Davis
c6faede00c add shift modifier support 2016-09-27 14:59:29 -05:00
Paul Davis
98335084c7 turn on all buttons that be envisaged as useful in ardour (for now); add support for edit-range-from-playhead ops 2016-09-27 14:59:29 -05:00
Paul Davis
eadf9bbef1 light solo button, and do cancel_all_solo() when it is pressed 2016-09-27 14:59:29 -05:00
Paul Davis
a96b320e3d expand display contents to include TC & BBT clocks, plus button function and track indicators
So many possibilities, so little time. Really going to need a "native" widget kit before this is finished
2016-09-27 14:59:29 -05:00