13
0
Commit Graph

11679 Commits

Author SHA1 Message Date
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
6946bdc083 send a slightly more useful message if a control protocol's probe() method fails 2016-09-27 14:59:31 -05:00
f50d7cda25 additional i18n.h changes for push2 branch 2016-09-27 14:59:31 -05:00
7011ce23b1 fix required after rebase against master 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
1c9fdc0ce8 add Session::get_physical_ports() to centralize "get physical ports but (maybe) ignore control-only (and MIDI Through) ports" 2016-09-27 14:59:30 -05:00
47ba20143e remove ControlOnly port flag, since it was essentially unusable 2016-09-27 14:59:30 -05:00
3cf92ee523 ignore control-only physical ports when building system bundles 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
581fe8a237 add MIDI bundles to Generic MIDI support so that the ports show up nicely in the grid 2016-09-27 14:59:30 -05:00
591e59dae4 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
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
6dbe3a1e3b post-rebase fixes 2016-09-27 14:59:30 -05:00
d1c024f4f9 move shadow port stuff from AsyncMIDIPort to MidiPort, where it belongs 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
3669096c05 expose AsyncMIDIPort::shadow_port() 2016-09-27 14:59:30 -05:00
0c1c7ec642 set latency range for shadow port.
Not tracked if parent/owner port changes latency
2016-09-27 14:59:30 -05:00
7f7a5f1c51 Flush shadow port buffer (to the backend port buffer) if filtering wrote anything. 2016-09-27 14:59:30 -05:00
74ae2c6ae6 Add additional flags when registering a shadow port. 2016-09-27 14:59:30 -05:00
483c408390 add two new port flags 2016-09-27 14:59:30 -05:00
1850510423 change PortManager API to allow specifying additional flags when registering a port 2016-09-27 14:59:30 -05:00
4e1d3f6416 remove declaration for non-existent method 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
8565d61444 change API for shadow ports and filters
Filter functor needs to be set before registering port, so provide it when adding the port.
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
8a06e6735d 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.
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
8a26f02851 amend FaderPort code to use BasicUI::goto_start() with optional argument 2016-09-27 14:59:29 -05:00
4847544144 fix PresentationInfo::flag_match() to match type bits 2016-09-27 14:59:29 -05:00
d7a16786fc change API for BasicUI::goto_start() to use optional roll-after arg 2016-09-27 14:59:29 -05:00
38fbf3c302 change Session::goto_start() to take an argument to optionally roll after locate 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
ac9b5f872d add method (taken from GTK GUI) to goto_nth_marker() to BasicUI 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
3438003566 remove debug output 2016-09-27 14:59:29 -05:00
eadf9bbef1 light solo button, and do cancel_all_solo() when it is pressed 2016-09-27 14:59:29 -05:00
0e5ac13a04 use new shared cancel_all_solo() in Mackie code 2016-09-27 14:59:29 -05:00
40dd604dbc add correct implementation for cancel all solo to BasicUI 2016-09-27 14:59:29 -05:00
d407d09d9c pulse metronome led when enabled 2016-09-27 14:59:29 -05:00
a96b320e3d 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
2016-09-27 14:59:29 -05:00
5ae72d574c only 1 MIDI port needed; more button functionality 2016-09-27 14:59:29 -05:00
4991bf5a1a push2: working bidirectional communication, some transport control/display (LED only); some scrolling 2016-09-27 14:59:29 -05:00
96db13e1ba push2: working port i/o 2016-09-27 14:59:29 -05:00
67698b8232 push2: port registration, LED setup 2016-09-27 14:59:29 -05:00
e0be45de38 remove duplicate/unnecessary header inclusions 2016-09-27 14:59:29 -05:00
189173c1b1 various fixes for push2 support. Now setups video display when enabled 2016-09-27 14:59:29 -05:00
413fe2cf9a adjustments to build nascent push2 surface support 2016-09-27 14:59:29 -05:00
Ross Lagerwall
2203e03831 Match new[] with delete[] 2016-09-27 18:22:53 +01:00
6298246a00 fix detecting .flac format 2016-09-25 22:20:08 +02:00
8018bed0de add an option to exclude unused Audio Sources when archiving the session 2016-09-23 20:34:28 +02:00
f7cb5b1a6b fix a typo.
Really a no-op, AudioSource::length() ignores the position, and
for regular regions > 0 is equivalent to != 0
2016-09-23 18:46:34 +02:00