ardour.git
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

7 years agoadd a new action to allow surfaces to access Keyboard::close_current_dialog()
Paul Davis [Fri, 17 Jun 2016 19:48:31 +0000 (15:48 -0400)]
add a new action to allow surfaces to access Keyboard::close_current_dialog()

7 years agofix PresentationInfo::flag_match() to match type bits
Paul Davis [Fri, 17 Jun 2016 19:48:13 +0000 (15:48 -0400)]
fix PresentationInfo::flag_match() to match type bits

7 years agochange API for BasicUI::goto_start() to use optional roll-after arg
Paul Davis [Fri, 17 Jun 2016 19:47:47 +0000 (15:47 -0400)]
change API for BasicUI::goto_start() to use optional roll-after arg

7 years agochange Session::goto_start() to take an argument to optionally roll after locate
Paul Davis [Fri, 17 Jun 2016 19:41:28 +0000 (15:41 -0400)]
change Session::goto_start() to take an argument to optionally roll after locate

7 years agoclear button states at startup *and* shutdown
Paul Davis [Fri, 17 Jun 2016 13:32:18 +0000 (09:32 -0400)]
clear button states at startup *and* shutdown

7 years agobasic implementation of scrubbing via push2 touch strip
Paul Davis [Fri, 17 Jun 2016 13:21:29 +0000 (09:21 -0400)]
basic implementation of scrubbing via push2 touch strip

7 years agogain automation implemented.
Paul Davis [Fri, 17 Jun 2016 13:03:26 +0000 (09:03 -0400)]
gain automation implemented.

Push 2 is rather slow to send touch-end messages.

7 years agouse encoders for gain control
Paul Davis [Fri, 17 Jun 2016 12:37:39 +0000 (08:37 -0400)]
use encoders for gain control

7 years agouse right-side buttons to goto_nth_marker()
Paul Davis [Fri, 17 Jun 2016 05:59:01 +0000 (01:59 -0400)]
use right-side buttons to goto_nth_marker()

7 years agoadd method (taken from GTK GUI) to goto_nth_marker() to BasicUI
Paul Davis [Fri, 17 Jun 2016 05:55:36 +0000 (01:55 -0400)]
add method (taken from GTK GUI) to goto_nth_marker() to BasicUI

7 years agobeginning of stripable control; solo+mute mostly operational
Paul Davis [Fri, 17 Jun 2016 05:29:00 +0000 (01:29 -0400)]
beginning of stripable control; solo+mute mostly operational

7 years agoadd shift modifier support
Paul Davis [Fri, 17 Jun 2016 04:32:06 +0000 (00:32 -0400)]
add shift modifier support

7 years agoturn on all buttons that be envisaged as useful in ardour (for now); add support...
Paul Davis [Fri, 17 Jun 2016 04:15:55 +0000 (00:15 -0400)]
turn on all buttons that be envisaged as useful in ardour (for now); add support for edit-range-from-playhead ops

7 years agoremove debug output
Paul Davis [Fri, 17 Jun 2016 03:34:28 +0000 (23:34 -0400)]
remove debug output

7 years agolight solo button, and do cancel_all_solo() when it is pressed
Paul Davis [Fri, 17 Jun 2016 03:31:51 +0000 (23:31 -0400)]
light solo button, and do cancel_all_solo() when it is pressed

7 years agouse new shared cancel_all_solo() in Mackie code
Paul Davis [Fri, 17 Jun 2016 03:31:31 +0000 (23:31 -0400)]
use new shared cancel_all_solo() in Mackie code

7 years agoadd correct implementation for cancel all solo to BasicUI
Paul Davis [Fri, 17 Jun 2016 03:31:11 +0000 (23:31 -0400)]
add correct implementation for cancel all solo to BasicUI

7 years agopulse metronome led when enabled
Paul Davis [Fri, 17 Jun 2016 03:04:23 +0000 (23:04 -0400)]
pulse metronome led when enabled

7 years agoexpand display contents to include TC & BBT clocks, plus button function and track...
Paul Davis [Fri, 17 Jun 2016 02:51:30 +0000 (22:51 -0400)]
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

7 years agoonly 1 MIDI port needed; more button functionality
Paul Davis [Thu, 16 Jun 2016 21:45:41 +0000 (17:45 -0400)]
only 1 MIDI port needed; more button functionality

7 years agopush2: working bidirectional communication, some transport control/display (LED only...
Paul Davis [Thu, 16 Jun 2016 18:06:16 +0000 (14:06 -0400)]
push2: working bidirectional communication, some transport control/display (LED only); some scrolling

7 years agopush2: working port i/o
Paul Davis [Thu, 16 Jun 2016 14:43:21 +0000 (10:43 -0400)]
push2: working port i/o

7 years agopush2: port registration, LED setup
Paul Davis [Thu, 16 Jun 2016 14:02:46 +0000 (10:02 -0400)]
push2: port registration, LED setup

7 years agoremove duplicate/unnecessary header inclusions
Paul Davis [Thu, 16 Jun 2016 14:01:43 +0000 (10:01 -0400)]
remove duplicate/unnecessary header inclusions

7 years agovarious fixes for push2 support. Now setups video display when enabled
Paul Davis [Thu, 16 Jun 2016 04:07:43 +0000 (00:07 -0400)]
various fixes for push2 support. Now setups video display when enabled

7 years agoadjustments to build nascent push2 surface support
Paul Davis [Thu, 16 Jun 2016 02:41:01 +0000 (22:41 -0400)]
adjustments to build nascent push2 surface support

7 years agoMatch new[] with delete[]
Ross Lagerwall [Tue, 27 Sep 2016 17:22:53 +0000 (18:22 +0100)]
Match new[] with delete[]