Commit graph

95 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
Tim Mayberry
bd3965e278 Use XMLNode::get/set_property in Push2 surface
Fix push2 property names to use hyphen word separator.
2017-04-19 09:36:54 +10:00
Paul Davis
8d30580450 attempt to fix windows failed build by including pthread.h to get DEBUG_THREAD_SELF correctly defined 2016-09-30 12:52:07 -04:00
Paul Davis
7701207123 push2:small logic fix for destructor, mostly to ensure that the track_mix layout is destroyed
Otherwise it is still connected to the ControlProtocol::StripableSelectionChanged signal, even though the
event loop specified in the connection has been destroyed.
2016-09-30 11:07:05 -05: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
1aab360b7d remove unnecessary method 2016-09-28 17:23:52 -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
6c4627b1b7 fix for push2 code on Windows (no random()) 2016-09-28 10:51:01 -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
3a7cf72752 push2: tweak layout APIs etc. 2016-09-27 14:59:32 -05:00
Paul Davis
303358973f push2: improve logic of ::set_current_layout() to allow reset of same layout 2016-09-27 14:59:32 -05:00
Paul Davis
0006f28511 push2: don't illuminate a button we do not use 2016-09-27 14:59:32 -05:00
Paul Davis
5e6249b7b1 push2: null handle on failed open 2016-09-27 14:59:32 -05:00
Paul Davis
33015a7173 push2: many improvements to track mix and mix layouts
Including meters and clocks
2016-09-27 14:59:32 -05:00
Paul Davis
7a0e2ceec0 first pass (incomplete) at canvas meters (in push2 context) 2016-09-27 14:59:32 -05:00
Paul Davis
879b09d920 stop crashes from out-of-range values 2016-09-27 14:59:32 -05:00
Paul Davis
7594e7644a vpot above metronome button controls click gain; master gain knob now works correctly 2016-09-27 14:59:32 -05:00
Paul Davis
6d5878a926 leave a comment about port reconnection 2016-09-27 14:59:32 -05:00
Paul Davis
0aaf2d1f34 clear filtered note map when entered drum mode 2016-09-27 14:59:32 -05:00
Paul Davis
ae01ac2384 update pad colors when selected track colors chane 2016-09-27 14:59:32 -05:00
Paul Davis
a9a3b71807 change handling of MIDI sysex incoming to be a little more efficient 2016-09-27 14:59:32 -05:00
Paul Davis
44c0ea2095 fix assignment of palette colors by using white-balance = 126; also use ArdourCanvas color macros 2016-09-27 14:59:32 -05:00
Paul Davis
3aa0676f70 push2: substantial improvements to track mix mode, and a few other details 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
0add64d4ab push2: fix color map store/lookup for rgba<=>color index mapping 2016-09-27 14:59:31 -05:00
Paul Davis
9e1c7ccaf8 push2: don't send ScaleChanged unless something did actually change 2016-09-27 14:59:31 -05:00
Paul Davis
33713d6f68 push2: reset pad colors when necessary 2016-09-27 14:59:31 -05:00
Paul Davis
a4cd0d7dae push2: set and use selected track color for root notes on pads 2016-09-27 14:59:31 -05:00
Paul Davis
06683b1bda header file now included in push2.h 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
2810e5619a push2: provide basic GUI control for pressure mode 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
f50d7cda25 additional i18n.h changes for push2 branch 2016-09-27 14:59:31 -05:00
Paul Davis
8fdf1669a7 push2: fix up issues with object lifetimes and signals during shutdown 2016-09-27 14:59:31 -05:00
Paul Davis
ad7543c02f push2: track mix layout somewhat working 2016-09-27 14:59:31 -05:00
Paul Davis
f20618ae19 push2: continued mix layout display refinement, plus scrolling fixes 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
79025e8c42 push2: small code improvements, avoiding intermediate variables 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
c4602603b4 push2: make octave buttons actually work, with shift-press to reset to zero 2016-09-27 14:59:30 -05:00
Paul Davis
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