ardour.git
7 years agoupdate pad colors when selected track colors chane
Paul Davis [Fri, 23 Sep 2016 18:56:27 +0000 (13:56 -0500)]
update pad colors when selected track colors chane

7 years agochange handling of MIDI sysex incoming to be a little more efficient
Paul Davis [Fri, 23 Sep 2016 18:54:29 +0000 (13:54 -0500)]
change handling of MIDI sysex incoming to be a little more efficient

7 years agofix assignment of palette colors by using white-balance = 126; also use ArdourCanvas...
Paul Davis [Fri, 23 Sep 2016 18:53:45 +0000 (13:53 -0500)]
fix assignment of palette colors by using white-balance = 126; also use ArdourCanvas color macros

7 years agoupdate selection rect color when track color changes
Paul Davis [Fri, 23 Sep 2016 18:52:23 +0000 (13:52 -0500)]
update selection rect color when track color changes

7 years agoTimeAxisView::set_selected() needs to call AxisView::set_selected()
Paul Davis [Fri, 23 Sep 2016 18:37:01 +0000 (13:37 -0500)]
TimeAxisView::set_selected() needs to call AxisView::set_selected()

7 years agoEditor does not need to reset track/stripable selection, since Selection already...
Paul Davis [Fri, 23 Sep 2016 18:36:30 +0000 (13:36 -0500)]
Editor does not need to reset track/stripable selection, since Selection already maintains that itself

7 years agoadd MidiByteArray::compare_n()
Paul Davis [Fri, 23 Sep 2016 17:07:00 +0000 (12:07 -0500)]
add MidiByteArray::compare_n()

7 years agopush2: make quantize and duplicate buttons do something useful
Paul Davis [Thu, 22 Sep 2016 21:28:25 +0000 (16:28 -0500)]
push2: make quantize and duplicate buttons do something useful

7 years agoadd explicit "duplicate-regions" action
Paul Davis [Thu, 22 Sep 2016 21:27:01 +0000 (16:27 -0500)]
add explicit "duplicate-regions" action

7 years agoadd "quantize" action for control surface access
Paul Davis [Thu, 22 Sep 2016 21:26:08 +0000 (16:26 -0500)]
add "quantize" action for control surface access

7 years agodon't get into nested run loops if quantize is reinvoked (e.g control surface) while...
Paul Davis [Thu, 22 Sep 2016 21:25:17 +0000 (16:25 -0500)]
don't get into nested run loops if quantize is reinvoked (e.g control surface) while already in progress

7 years agominor tweak to quantize dialog so that we can test if it is visible
Paul Davis [Thu, 22 Sep 2016 21:22:21 +0000 (16:22 -0500)]
minor tweak to quantize dialog so that we can test if it is visible

7 years agopush2: master button now does something useful
Paul Davis [Thu, 22 Sep 2016 19:41:49 +0000 (14:41 -0500)]
push2: master button now does something useful

7 years agopush2: substantial improvements to track mix mode, and a few other details
Paul Davis [Thu, 22 Sep 2016 19:24:02 +0000 (14:24 -0500)]
push2: substantial improvements to track mix mode, and a few other details

7 years agopush2: always use a contrasting color when flashing played pads
Paul Davis [Thu, 22 Sep 2016 15:47:34 +0000 (10:47 -0500)]
push2: always use a contrasting color when flashing played pads

7 years agopush2: when playing pads, flash all pad LEDs for the same note number for the pressed pad
Paul Davis [Thu, 22 Sep 2016 15:27:21 +0000 (10:27 -0500)]
push2: when playing pads, flash all pad LEDs for the same note number for the pressed pad

7 years agopush2: fix color map store/lookup for rgba<=>color index mapping
Paul Davis [Thu, 22 Sep 2016 04:08:30 +0000 (23:08 -0500)]
push2: fix color map store/lookup for rgba<=>color index mapping

7 years agopush2: don't send ScaleChanged unless something did actually change
Paul Davis [Thu, 22 Sep 2016 04:07:59 +0000 (23:07 -0500)]
push2: don't send ScaleChanged unless something did actually change

7 years agopush2: reset pad colors when necessary
Paul Davis [Thu, 22 Sep 2016 04:07:35 +0000 (23:07 -0500)]
push2: reset pad colors when necessary

7 years agopush2: set and use selected track color for root notes on pads
Paul Davis [Thu, 22 Sep 2016 04:06:45 +0000 (23:06 -0500)]
push2: set and use selected track color for root notes on pads

7 years agoheader file now included in push2.h
Paul Davis [Thu, 22 Sep 2016 04:05:42 +0000 (23:05 -0500)]
header file now included in push2.h

7 years agouse ArdourCanvas::Color not uint32_t for push2 color decls
Paul Davis [Thu, 22 Sep 2016 04:05:01 +0000 (23:05 -0500)]
use ArdourCanvas::Color not uint32_t for push2 color decls

7 years agopush2: volume pots now work like non-linear faders, as desired
Paul Davis [Thu, 22 Sep 2016 00:25:36 +0000 (19:25 -0500)]
push2: volume pots now work like non-linear faders, as desired

7 years agopush2: various changes in support of menus and scale mode
Paul Davis [Wed, 21 Sep 2016 20:25:44 +0000 (15:25 -0500)]
push2: various changes in support of menus and scale mode

7 years agopush2: scale selection and display on video display now working
Paul Davis [Wed, 21 Sep 2016 20:25:24 +0000 (15:25 -0500)]
push2: scale selection and display on video display now working

7 years agopush2: menu presentation now working
Paul Davis [Wed, 21 Sep 2016 20:25:01 +0000 (15:25 -0500)]
push2: menu presentation now working

7 years agoremove all pad + scale stuff from push2 gui
Paul Davis [Wed, 21 Sep 2016 20:24:14 +0000 (15:24 -0500)]
remove all pad + scale stuff from push2 gui

7 years agoput change_alpha() into ArdourCanvas namespace as intended
Paul Davis [Wed, 21 Sep 2016 20:23:33 +0000 (15:23 -0500)]
put change_alpha() into ArdourCanvas namespace as intended

7 years agoa slew of unconnected mostly minor tweaks to get Push2 support back to where it was...
Paul Davis [Mon, 19 Sep 2016 21:11:22 +0000 (16:11 -0500)]
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

7 years agotweaks and so forth to get first canvas-based rendering to Push2 display
Paul Davis [Fri, 16 Sep 2016 18:17:24 +0000 (13:17 -0500)]
tweaks and so forth to get first canvas-based rendering to Push2 display

7 years agopush2: remove Knob::set_position() overload
Paul Davis [Fri, 16 Sep 2016 15:41:11 +0000 (10:41 -0500)]
push2: remove Knob::set_position() overload

7 years agofirst compiling and theoretically correct version of Push2 canvas display.
Paul Davis [Fri, 16 Sep 2016 13:39:28 +0000 (08:39 -0500)]
first compiling and theoretically correct version of Push2 canvas display.

Not tested with device at this point

7 years agopush2: provide basic GUI control for pressure mode
Paul Davis [Fri, 26 Aug 2016 01:05:23 +0000 (21:05 -0400)]
push2: provide basic GUI control for pressure mode

7 years agobasic code to get/set pressure mode to/from the push2
Paul Davis [Thu, 25 Aug 2016 23:57:02 +0000 (19:57 -0400)]
basic code to get/set pressure mode to/from the push2

7 years agosend a slightly more useful message if a control protocol's probe() method fails
Paul Davis [Sat, 16 Jul 2016 18:10:52 +0000 (14:10 -0400)]
send a slightly more useful message if a control protocol's probe() method fails

7 years agoadditional i18n.h changes for push2 branch
Paul Davis [Fri, 15 Jul 2016 04:06:10 +0000 (00:06 -0400)]
additional i18n.h changes for push2 branch

7 years agofix required after rebase against master
Paul Davis [Thu, 14 Jul 2016 10:48:09 +0000 (06:48 -0400)]
fix required after rebase against master

7 years agopush2: small change to work with a recent change in master
Paul Davis [Wed, 13 Jul 2016 11:22:18 +0000 (07:22 -0400)]
push2: small change to work with a recent change in master

7 years agopush2: fix up issues with object lifetimes and signals during shutdown
Paul Davis [Tue, 12 Jul 2016 11:46:30 +0000 (07:46 -0400)]
push2: fix up issues with object lifetimes and signals during shutdown

7 years agopush2: track mix layout somewhat working
Paul Davis [Mon, 11 Jul 2016 22:17:04 +0000 (18:17 -0400)]
push2: track mix layout somewhat working

7 years agopush2: continued mix layout display refinement, plus scrolling fixes
Paul Davis [Mon, 11 Jul 2016 18:41:57 +0000 (14:41 -0400)]
push2: continued mix layout display refinement, plus scrolling fixes

7 years agocontinuing work on refining push2 mix layout
Paul Davis [Mon, 11 Jul 2016 17:13:04 +0000 (13:13 -0400)]
continuing work on refining push2 mix layout

7 years agopush2: steps toward a more ableton-like layout in mix mode
Paul Davis [Mon, 11 Jul 2016 14:02:35 +0000 (10:02 -0400)]
push2: steps toward a more ableton-like layout in mix mode

7 years agopush2: parameterize and centralize colors
Paul Davis [Mon, 11 Jul 2016 13:07:52 +0000 (09:07 -0400)]
push2: parameterize and centralize colors

7 years agopush2: small code improvements, avoiding intermediate variables
Paul Davis [Sun, 10 Jul 2016 19:24:50 +0000 (15:24 -0400)]
push2: small code improvements, avoiding intermediate variables

7 years agopush2: color palette management, and responding to 2 track properties in TrackMix...
Paul Davis [Sun, 10 Jul 2016 19:22:16 +0000 (15:22 -0400)]
push2: color palette management, and responding to 2 track properties in TrackMix layout

7 years agopush2: add a little meat to the bones of the TrackMix layout (just a name, for now)
Paul Davis [Sun, 10 Jul 2016 17:02:42 +0000 (13:02 -0400)]
push2: add a little meat to the bones of the TrackMix layout (just a name, for now)

7 years agopush2: skeleton for track mix layout
Paul Davis [Sun, 10 Jul 2016 16:38:55 +0000 (12:38 -0400)]
push2: skeleton for track mix layout

7 years agopush2: rearrange and separate header file material
Paul Davis [Sun, 10 Jul 2016 16:38:36 +0000 (12:38 -0400)]
push2: rearrange and separate header file material

7 years agopush2: remove unneeded maps from Push2 object
Paul Davis [Sun, 10 Jul 2016 15:30:16 +0000 (11:30 -0400)]
push2: remove unneeded maps from Push2 object

7 years agopush2: make octave buttons actually work, with shift-press to reset to zero
Paul Davis [Sun, 10 Jul 2016 15:29:57 +0000 (11:29 -0400)]
push2: make octave buttons actually work, with shift-press to reset to zero

7 years agostop using pitch bend strip for shuttle control (it sucks, and messes up using it...
Paul Davis [Sun, 10 Jul 2016 15:00:01 +0000 (11:00 -0400)]
stop using pitch bend strip for shuttle control (it sucks, and messes up using it for MIDI performance)

7 years agopush2: cleanup layouts
Paul Davis [Sun, 10 Jul 2016 14:59:08 +0000 (10:59 -0400)]
push2: cleanup layouts

7 years agorefactor Push2 GUI into modular "layouts" that encapsulate a given screen, its drawin...
Paul Davis [Sun, 10 Jul 2016 14:49:39 +0000 (10:49 -0400)]
refactor Push2 GUI into modular "layouts" that encapsulate a given screen, its drawing and event handling

7 years agopush2: first somewhat operational versions of menus
Paul Davis [Sun, 10 Jul 2016 12:37:45 +0000 (08:37 -0400)]
push2: first somewhat operational versions of menus

7 years agopush2: basics of 4x 4x4 percussive mode, similar to MPC (and vaguely to Live)
Paul Davis [Sun, 10 Jul 2016 03:26:02 +0000 (23:26 -0400)]
push2: basics of 4x 4x4 percussive mode, similar to MPC (and vaguely to Live)

7 years agoControlOnly port flag is gone
Paul Davis [Sat, 9 Jul 2016 16:21:46 +0000 (12:21 -0400)]
ControlOnly port flag is gone

7 years agoadd Session::get_physical_ports() to centralize "get physical ports but (maybe) ignor...
Paul Davis [Sat, 9 Jul 2016 16:21:32 +0000 (12:21 -0400)]
add Session::get_physical_ports() to centralize "get physical ports but (maybe) ignore control-only (and MIDI Through) ports"

7 years agoremove ControlOnly port flag, since it was essentially unusable
Paul Davis [Sat, 9 Jul 2016 16:20:54 +0000 (12:20 -0400)]
remove ControlOnly port flag, since it was essentially unusable

7 years agoignore control-only physical ports when building system bundles
Paul Davis [Fri, 8 Jul 2016 22:41:15 +0000 (18:41 -0400)]
ignore control-only physical ports when building system bundles

7 years agopush2: use correct selection API
Paul Davis [Fri, 8 Jul 2016 22:17:34 +0000 (18:17 -0400)]
push2: use correct selection API

7 years agopush2: passthru pitch bend, aftertouch and channel pressure from dem fancy pads!
Paul Davis [Fri, 8 Jul 2016 21:53:20 +0000 (17:53 -0400)]
push2: passthru pitch bend, aftertouch and channel pressure from dem fancy pads!

7 years agopush2: connect pad port to selected MIDI at protocol startup
Paul Davis [Fri, 8 Jul 2016 21:46:35 +0000 (17:46 -0400)]
push2: connect pad port to selected MIDI at protocol startup

7 years agochange bundling of Push 2 ports so that the implicit connection ports don't show up
Paul Davis [Fri, 8 Jul 2016 21:39:30 +0000 (17:39 -0400)]
change bundling of Push 2 ports so that the implicit connection ports don't show up

7 years agoadd bundle support to push2
Paul Davis [Fri, 8 Jul 2016 21:10:26 +0000 (17:10 -0400)]
add bundle support to push2

7 years agovarious tweaks to port matrix display logic to try to avoid a few wierd things
Paul Davis [Fri, 8 Jul 2016 21:10:08 +0000 (17:10 -0400)]
various tweaks to port matrix display logic to try to avoid a few wierd things

7 years agoadd MIDI bundles to Generic MIDI support so that the ports show up nicely in the...
Paul Davis [Fri, 8 Jul 2016 21:09:44 +0000 (17:09 -0400)]
add MIDI bundles to Generic MIDI support so that the ports show up nicely in the grid

7 years agoadd PortManager::port_is_control_only() and use it in PortManager::get_ports()
Paul Davis [Fri, 8 Jul 2016 21:09:09 +0000 (17:09 -0400)]
add PortManager::port_is_control_only() and use it in PortManager::get_ports()

This allows us to avoid using "control-only" ports (e.g. Ableton Push 2 hardware ports) as inputs or outputs

7 years agoadd explanatory comment
Paul Davis [Fri, 8 Jul 2016 20:13:15 +0000 (16:13 -0400)]
add explanatory comment

7 years agoremove debug output
Paul Davis [Fri, 8 Jul 2016 20:12:58 +0000 (16:12 -0400)]
remove debug output

7 years agopush2: save and restore push2 pad state, etc.
Paul Davis [Thu, 7 Jul 2016 20:28:15 +0000 (16:28 -0400)]
push2: save and restore push2 pad state, etc.

7 years agopush2: almost fully operational ableton style pad mapping, etc
Paul Davis [Thu, 7 Jul 2016 19:53:19 +0000 (15:53 -0400)]
push2: almost fully operational ableton style pad mapping, etc

7 years agopush2: initial sort of working pad remapping
Paul Davis [Thu, 7 Jul 2016 18:26:55 +0000 (14:26 -0400)]
push2: initial sort of working pad remapping

7 years agopush2: get automatic pad connection to selected MIDI track working again
Paul Davis [Thu, 7 Jul 2016 13:42:26 +0000 (09:42 -0400)]
push2: get automatic pad connection to selected MIDI track working again

7 years agopush2: start of pad layout editing
Paul Davis [Thu, 7 Jul 2016 13:26:06 +0000 (09:26 -0400)]
push2: start of pad layout editing

7 years agopush2: use a map for direct lookup of pad note
Paul Davis [Thu, 7 Jul 2016 04:17:17 +0000 (00:17 -0400)]
push2: use a map for direct lookup of pad note

7 years agopush2: update GUI pad display when octave shift is used, or pad map is changed
Paul Davis [Thu, 7 Jul 2016 04:10:27 +0000 (00:10 -0400)]
push2: update GUI pad display when octave shift is used, or pad map is changed

7 years agopush2: basics of octave shifting
Paul Davis [Thu, 7 Jul 2016 03:49:07 +0000 (23:49 -0400)]
push2: basics of octave shifting

7 years agopush2: add missing files
Paul Davis [Thu, 7 Jul 2016 02:43:34 +0000 (22:43 -0400)]
push2: add missing files

7 years agopush2: basic GUI dialog
Paul Davis [Thu, 7 Jul 2016 02:34:10 +0000 (22:34 -0400)]
push2: basic GUI dialog

7 years agopost-rebase fixes
Paul Davis [Wed, 6 Jul 2016 21:13:05 +0000 (17:13 -0400)]
post-rebase fixes

7 years agomove shadow port stuff from AsyncMIDIPort to MidiPort, where it belongs
Paul Davis [Mon, 20 Jun 2016 19:00:58 +0000 (15:00 -0400)]
move shadow port stuff from AsyncMIDIPort to MidiPort, where it belongs

7 years agopush2: connect first selected track to pad port (and disconnect).
Paul Davis [Mon, 20 Jun 2016 17:47:45 +0000 (13:47 -0400)]
push2: connect first selected track to pad port (and disconnect).

Provisional. Lots of (fun) work to do here

7 years agoexpose AsyncMIDIPort::shadow_port()
Paul Davis [Mon, 20 Jun 2016 17:47:17 +0000 (13:47 -0400)]
expose AsyncMIDIPort::shadow_port()

7 years agoset latency range for shadow port.
Paul Davis [Mon, 20 Jun 2016 16:52:01 +0000 (12:52 -0400)]
set latency range for shadow port.

Not tracked if parent/owner port changes latency

7 years agoFlush shadow port buffer (to the backend port buffer) if filtering wrote anything.
Paul Davis [Mon, 20 Jun 2016 16:49:29 +0000 (12:49 -0400)]
Flush shadow port buffer (to the backend port buffer) if filtering wrote anything.

7 years agoAdd additional flags when registering a shadow port.
Paul Davis [Mon, 20 Jun 2016 16:49:04 +0000 (12:49 -0400)]
Add additional flags when registering a shadow port.

7 years agoadd two new port flags
Paul Davis [Mon, 20 Jun 2016 16:47:26 +0000 (12:47 -0400)]
add two new port flags

7 years agochange PortManager API to allow specifying additional flags when registering a port
Paul Davis [Mon, 20 Jun 2016 16:47:05 +0000 (12:47 -0400)]
change PortManager API to allow specifying additional flags when registering a port

7 years agoremove declaration for non-existent method
Paul Davis [Mon, 20 Jun 2016 16:46:17 +0000 (12:46 -0400)]
remove declaration for non-existent method

7 years agouse modified add_shadow_port API(); make pads flash when pressed
Paul Davis [Mon, 20 Jun 2016 12:31:33 +0000 (08:31 -0400)]
use modified add_shadow_port API(); make pads flash when pressed

7 years agopush2: fix one pad registration detail
Paul Davis [Mon, 20 Jun 2016 12:31:05 +0000 (08:31 -0400)]
push2: fix one pad registration detail

7 years agochange API for shadow ports and filters
Paul Davis [Mon, 20 Jun 2016 12:30:21 +0000 (08:30 -0400)]
change API for shadow ports and filters

Filter functor needs to be set before registering port, so provide it when adding the port.

7 years agoadd a shadow port for the Push 2 port, to allow us to filter pads (note on/off) to...
Paul Davis [Mon, 20 Jun 2016 03:41:53 +0000 (23:41 -0400)]
add a shadow port for the Push 2 port, to allow us to filter pads (note on/off) to other parts of Ardour

7 years agoadd initial implementation of a "shadow port" for AsyncMIDIPort.
Paul Davis [Mon, 20 Jun 2016 03:41:26 +0000 (23:41 -0400)]
add initial implementation of a "shadow port" for AsyncMIDIPort.

The shadow port is a secondary port that can be used to allow others to get a copy of part, all or none of the MIDI
stream received by the owner (input) port.

7 years agopush2: splash screen
Paul Davis [Sun, 19 Jun 2016 16:26:28 +0000 (12:26 -0400)]
push2: splash screen

Coded while the paint prep dries in the sun

7 years agopush2: expose page right/left buttons for scrolling; use right/left for banking;...
Paul Davis [Fri, 17 Jun 2016 22:54:13 +0000 (18:54 -0400)]
push2: expose page right/left buttons for scrolling; use right/left for banking; mute+solo debugging in place

7 years agopush2: stop segfaults when closing push2 support
Paul Davis [Fri, 17 Jun 2016 21:51:02 +0000 (17:51 -0400)]
push2: stop segfaults when closing push2 support

7 years agopush2: numerous changes, including long press actions
Paul Davis [Fri, 17 Jun 2016 19:51:16 +0000 (15:51 -0400)]
push2: numerous changes, including long press actions

7 years agoamend FaderPort code to use BasicUI::goto_start() with optional argument
Paul Davis [Fri, 17 Jun 2016 19:49:06 +0000 (15:49 -0400)]
amend FaderPort code to use BasicUI::goto_start() with optional argument