13
0
Commit Graph

165 Commits

Author SHA1 Message Date
6c4627b1b7 fix for push2 code on Windows (no random()) 2016-09-28 10:51:01 -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
0fc4a61fa0 don't render push2 layouts to PNG 2016-09-27 15:42:36 -05:00
a6d4bb0432 add missing/moved files from push2 merge 2016-09-27 15:42:26 -05:00
bbc410dae8 push2: add code to render screen to PNG files for screenshot purposes 2016-09-27 14:59:32 -05:00
3a7cf72752 push2: tweak layout APIs etc. 2016-09-27 14:59:32 -05:00
db4edbf3b5 push2: tweak logic of master button 2016-09-27 14:59:32 -05:00
303358973f push2: improve logic of ::set_current_layout() to allow reset of same layout 2016-09-27 14:59:32 -05:00
0006f28511 push2: don't illuminate a button we do not use 2016-09-27 14:59:32 -05:00
5e6249b7b1 push2: null handle on failed open 2016-09-27 14:59:32 -05:00
0cd60747a5 push2: fix issue with solo/mute display when entering mix layout 2016-09-27 14:59:32 -05:00
33015a7173 push2: many improvements to track mix and mix layouts
Including meters and clocks
2016-09-27 14:59:32 -05:00
a5e112a73f push2: correct knob origin translation for drawing 2016-09-27 14:59:32 -05:00
8be313932e use new canvas meter in push2 track mix layout 2016-09-27 14:59:32 -05:00
29b8072555 add canvas-based Meter object 2016-09-27 14:59:32 -05:00
e1fb7fe9fc working canvas meter code 2016-09-27 14:59:32 -05:00
7a0e2ceec0 first pass (incomplete) at canvas meters (in push2 context) 2016-09-27 14:59:32 -05:00
879b09d920 stop crashes from out-of-range values 2016-09-27 14:59:32 -05:00
7c82792a57 missing includes 2016-09-27 14:59:32 -05:00
feafcbf61d fix various aspects of knob function 2016-09-27 14:59:32 -05:00
7594e7644a vpot above metronome button controls click gain; master gain knob now works correctly 2016-09-27 14:59:32 -05:00
0f39f27375 fix issue with initial menu display 2016-09-27 14:59:32 -05:00
6d5878a926 leave a comment about port reconnection 2016-09-27 14:59:32 -05:00
0aaf2d1f34 clear filtered note map when entered drum mode 2016-09-27 14:59:32 -05:00
ae01ac2384 update pad colors when selected track colors chane 2016-09-27 14:59:32 -05:00
a9a3b71807 change handling of MIDI sysex incoming to be a little more efficient 2016-09-27 14:59:32 -05:00
44c0ea2095 fix assignment of palette colors by using white-balance = 126; also use ArdourCanvas color macros 2016-09-27 14:59:32 -05:00
48087c3161 update selection rect color when track color changes 2016-09-27 14:59:32 -05:00
acf586b058 add MidiByteArray::compare_n() 2016-09-27 14:59:31 -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
3aa0676f70 push2: substantial improvements to track mix mode, and a few other details 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
0add64d4ab push2: fix color map store/lookup for rgba<=>color index mapping 2016-09-27 14:59:31 -05:00
9e1c7ccaf8 push2: don't send ScaleChanged unless something did actually change 2016-09-27 14:59:31 -05:00
33713d6f68 push2: reset pad colors when necessary 2016-09-27 14:59:31 -05:00
a4cd0d7dae push2: set and use selected track color for root notes on pads 2016-09-27 14:59:31 -05:00
06683b1bda header file now included in push2.h 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
87ab1625ff push2: volume pots now work like non-linear faders, as desired 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
b6ecc56e7a push2: scale selection and display on video display now working 2016-09-27 14:59:31 -05:00
9cc40aafa0 push2: menu presentation now working 2016-09-27 14:59:31 -05:00
0610e1dc8d remove all pad + scale stuff from push2 gui 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
8cc94e79ac push2: remove Knob::set_position() overload 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
2810e5619a push2: provide basic GUI control for pressure mode 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
f50d7cda25 additional i18n.h changes for push2 branch 2016-09-27 14:59:31 -05:00
313a0a7e90 push2: small change to work with a recent change in master 2016-09-27 14:59:31 -05:00
8fdf1669a7 push2: fix up issues with object lifetimes and signals during shutdown 2016-09-27 14:59:31 -05:00
ad7543c02f push2: track mix layout somewhat working 2016-09-27 14:59:31 -05:00
f20618ae19 push2: continued mix layout display refinement, plus scrolling fixes 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
79025e8c42 push2: small code improvements, avoiding intermediate variables 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
995f3f80bb push2: skeleton for track mix layout 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
c4602603b4 push2: make octave buttons actually work, with shift-press to reset to zero 2016-09-27 14:59:30 -05:00
6b080bf6ec stop using pitch bend strip for shuttle control (it sucks, and messes up using it for MIDI performance) 2016-09-27 14:59:30 -05:00
8e63685724 push2: cleanup layouts 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
5e407406c4 ControlOnly port flag is gone 2016-09-27 14:59:30 -05:00
bc1876a84b push2: use correct selection API 2016-09-27 14:59:30 -05:00
053207003b push2: passthru pitch bend, aftertouch and channel pressure from dem fancy pads! 2016-09-27 14:59:30 -05:00
c13e568ee8 push2: connect pad port to selected MIDI at protocol startup 2016-09-27 14:59:30 -05:00
d8de7962ca change bundling of Push 2 ports so that the implicit connection ports don't show up 2016-09-27 14:59:30 -05:00
b31df0db2c add bundle support to push2 2016-09-27 14:59:30 -05:00
0318d3cd64 add explanatory comment 2016-09-27 14:59:30 -05:00
5d4e1b3231 remove debug output 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
d19c9885ff push2: start of pad layout editing 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
915f937aa4 push2: add missing files 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
be1dff4aaa push2: fix one pad registration detail 2016-09-27 14:59:30 -05:00
62d2d86b88 add a shadow port for the Push 2 port, to allow us to filter pads (note on/off) to other parts of Ardour 2016-09-27 14:59:29 -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
9321cbaf10 push2: stop segfaults when closing push2 support 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