6e419a961e
use boost::shared_ptr<> to manage Button/Pad lifetimes in Push2 code
2018-09-02 13:23:57 -04:00
601c317d70
Clean up library inheritance (colors.h, utils.h)
...
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00
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
687ac2d294
remove unused variable
2016-10-17 15:58:39 -04:00
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
67e415e14c
make Ben's cool range select hack work with Push 2
2016-09-28 11:28:45 -05:00
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
ae01ac2384
update pad colors when selected track colors chane
2016-09-27 14:59:32 -05:00
69a789c513
push2: make quantize and duplicate buttons do something useful
2016-09-27 14:59:31 -05:00
f35c5fd5a6
push2: master button now does something useful
2016-09-27 14:59:31 -05:00
f12150a1ed
push2: always use a contrasting color when flashing played pads
2016-09-27 14:59:31 -05:00
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
13295cf060
use ArdourCanvas::Color not uint32_t for push2 color decls
2016-09-27 14:59:31 -05:00
6f2ac5d6ad
push2: various changes in support of menus and scale mode
2016-09-27 14:59:31 -05:00
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
b835486170
tweaks and so forth to get first canvas-based rendering to Push2 display
2016-09-27 14:59:31 -05:00
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
b822d8be36
basic code to get/set pressure mode to/from the push2
2016-09-27 14:59:31 -05:00
11843e00ba
continuing work on refining push2 mix layout
2016-09-27 14:59:31 -05:00
b830965288
push2: steps toward a more ableton-like layout in mix mode
2016-09-27 14:59:31 -05:00
4cc71d2966
push2: parameterize and centralize colors
2016-09-27 14:59:31 -05:00
ccbe1797d6
push2: color palette management, and responding to 2 track properties in TrackMix layout
2016-09-27 14:59:31 -05:00
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
2689458500
push2: rearrange and separate header file material
2016-09-27 14:59:31 -05:00
64d390ff13
push2: remove unneeded maps from Push2 object
2016-09-27 14:59:30 -05:00
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
86578ea0cc
push2: first somewhat operational versions of menus
2016-09-27 14:59:30 -05:00
b37531e04f
push2: basics of 4x 4x4 percussive mode, similar to MPC (and vaguely to Live)
2016-09-27 14:59:30 -05:00
b31df0db2c
add bundle support to push2
2016-09-27 14:59:30 -05:00
33a2995fd8
push2: save and restore push2 pad state, etc.
2016-09-27 14:59:30 -05:00
70477e6fed
push2: almost fully operational ableton style pad mapping, etc
2016-09-27 14:59:30 -05:00
2aec2161f9
push2: initial sort of working pad remapping
2016-09-27 14:59:30 -05:00
597c737ab5
push2: get automatic pad connection to selected MIDI track working again
2016-09-27 14:59:30 -05:00
afef816a7b
push2: use a map for direct lookup of pad note
2016-09-27 14:59:30 -05:00
66453868cd
push2: update GUI pad display when octave shift is used, or pad map is changed
2016-09-27 14:59:30 -05:00
eff67c8a8f
push2: basics of octave shifting
2016-09-27 14:59:30 -05:00
cf28d71783
push2: basic GUI dialog
2016-09-27 14:59:30 -05:00
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
eb43344cf6
use modified add_shadow_port API(); make pads flash when pressed
2016-09-27 14:59:30 -05:00
1448be481f
push2: splash screen
...
Coded while the paint prep dries in the sun
2016-09-27 14:59:29 -05:00
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
3932f07b6b
push2: numerous changes, including long press actions
2016-09-27 14:59:29 -05:00
f699773490
clear button states at startup *and* shutdown
2016-09-27 14:59:29 -05:00
2afb7f1a30
basic implementation of scrubbing via push2 touch strip
2016-09-27 14:59:29 -05:00
6691975031
gain automation implemented.
...
Push 2 is rather slow to send touch-end messages.
2016-09-27 14:59:29 -05:00
c26de72870
use encoders for gain control
2016-09-27 14:59:29 -05:00
f290be21ee
use right-side buttons to goto_nth_marker()
2016-09-27 14:59:29 -05:00
93dd5414d6
beginning of stripable control; solo+mute mostly operational
2016-09-27 14:59:29 -05:00
c6faede00c
add shift modifier support
2016-09-27 14:59:29 -05:00
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