13
0
Commit Graph

1569 Commits

Author SHA1 Message Date
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
8cff66c7e0 remove unused member variable 2016-09-30 11:23:01 -04:00
e71809dc04 push2 gui catches port registrations 2016-09-30 11:23:01 -04:00
4a159b817f remove useless code from push2 gui dialog 2016-09-30 11:23:01 -04:00
d8291550e7 Rectangle is ambiguous on Windows
In file included from /usr/share/mingw-w64/include/windows.h:71:0,
                 from /home/ardour/win-stack-w32/include/pthread.h:198,
                 from /home/ardour/ardour-w32/libs/pbd/pbd/event_loop.h:29,
                 from /home/ardour/ardour-w32/libs/pbd/pbd/signals.h:42,
                 from /home/ardour/ardour-w32/libs/midi++2/midi++/parser.h:26,
                 from ../libs/surfaces/push2/mix.cc:30:

/usr/share/mingw-w64/include/wingdi.h:3049:67: note: candidates are: WINBOOL Rectangle(HDC, int, int, int, int)

In file included from ../libs/surfaces/push2/mix.cc:48:0:

/home/ardour/ardour-w32/libs/canvas/canvas/rectangle.h:30:48: note: class ArdourCanvas::Rectangle
2016-09-29 13:56:10 +02:00
0a9c12f250 MacOS [sic] required changes for Rect in Push 2 code 2016-09-28 17:24:14 -04:00
1aab360b7d remove unnecessary method 2016-09-28 17:23:52 -04:00
67e415e14c make Ben's cool range select hack work with Push 2 2016-09-28 11:28:45 -05:00
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
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
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
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
8a26f02851 amend FaderPort code to use BasicUI::goto_start() with optional argument 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
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
22d1f1268b OSC: don't restore User preset before writing new one 2016-08-31 19:56:48 -07:00
0ff233d234 Update our MSVC project files to generate the most recent Ardour session file format (ver 5) rather than the older v3 format 2016-08-30 07:15:00 +01:00
a3d2521b25 Accommodate newly introduced source(s) in our MSVC project (ardour_osc) 2016-08-28 10:20:56 +01:00
bd77b605f6 add missing include 2016-08-24 23:06:52 +02:00
7ccbc0ca73 OSC: Add preset loading to OSC GUI 2016-08-24 10:07:21 -07:00
81c481f975 OSC: Tweak GUI to be more user obvious. 2016-08-22 13:23:04 -07:00
88e98a63c7 OSC: populate check boxes with default settings at session start 2016-08-21 16:31:22 -07:00
1cfd8b2203 OSC: set global variables in global space - crash fix 2016-08-21 14:15:54 -07:00
adb492b914 OSC GUI: Add Strip types and feedback check boxes 2016-08-21 13:25:11 -07:00
d1ed84e44e OSC: Add setup to GUI 2016-08-19 14:22:55 -07:00
c229e31720 OSC:: needs the .h file too... 2016-08-18 19:16:53 -07:00
7c43d2bb0e OSC: make remote port setting possible, add default surface variables 2016-08-18 19:15:57 -07:00
8708da2d19 OSC: Add value feedback to strip fader and trim 2016-08-17 08:24:57 -07:00
a992ac0b75 OSC: make sure this is c++98 compatible. 2016-08-06 09:25:57 -07:00
8da9000cbc C++98 compat for 032139ac3 2016-08-06 14:40:18 +02:00
032139ac30 osc: provide human readable reading for gain. 2016-08-05 19:08:43 -07:00
e78a177dbb OSC: provide human readable level for sends. 2016-08-05 17:24:09 -07:00
3f88a660b3 OSC: make send enables work in MB 2016-07-28 17:51:12 -07:00
7c5a8dea7c OSC: eq bands off by one fix 2016-07-28 08:51:15 -07:00
04029a656e OSC: MB spelling mistakes stopped compile fix 2016-07-28 07:44:58 -07:00
c10e57129d OSC: Fix cut-n-paste mistake 2016-07-26 14:47:12 -07:00
69752813db OSC: Make sends work for MB. Add pan to /path/strip 2016-07-26 14:11:06 -07:00
c2f5abc91e OSC: Fix forward detection to include >0 and <1 2016-07-26 08:02:03 -07:00
b36192aba8 OSC: Remove redux control 2016-07-26 08:00:04 -07:00
80bd3e7279 OSC: Make pan controls work properly with MB too. 2016-07-24 09:06:59 -07:00
d53d0faf93 a more reliable/robust/less complex version of previous commit 2016-07-21 14:00:18 -04:00
3bf7c4ef49 do not delete MIDIControllable* when dealing with pending MIDI Control requests - the MIDIControllable belongs to the surface code in controllables 2016-07-21 13:42:11 -04:00
b502d689e2 OSC: comp mode control text needs to be changed by signal too. 2016-07-20 08:59:06 -07:00
0017837b02 OSC: check if pan exists, fixes MB crash. 2016-07-18 15:57:27 -07:00
1364cd6a30 OSC: Get rid of meter noise in MB. 2016-07-18 09:47:33 -07:00
dade1f39b7 OSC: LFE is a control not a position. 2016-07-15 11:44:49 -07:00
6f80b40630 OSC: Fix Soloing to disable all solos in SIP mode as well 2016-07-14 12:06:37 -07:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
b620e5ab3f OSC: Add surface save and restore 2016-07-14 11:41:53 -07:00
1970a8d4de OSC: Fix off by one error 2016-07-14 06:52:09 -07:00
08bd0da509 use Session::cancel_all_solo() 2016-07-13 14:33:43 -04:00
3c58a674c5 mackie: fix behaviour of clear solo button 2016-07-13 13:43:20 -04:00
b77b3cbe22 OSC: Add global soloing indicator/cancel 2016-07-13 09:56:35 -07:00
577140c0dd OSC: Add /path/band extension for eq_* bands 2016-07-12 13:33:28 -07:00
9d4506716c OSC: Added EQ control, use interface_to_internal to normalize control range 2016-07-12 09:13:53 -07:00
3ab200acaa OSC: finish feedback for well known controls. Simplify some others. 2016-07-11 16:00:14 -07:00
5156b8aeb5 White space fix only. (Spaces to tabs) 2016-07-10 08:20:05 -07:00
97b1725023 OSC: Add well known controls for pan and compressor 2016-07-08 11:54:37 -07:00
295a7dfcf3 OSC: Add feedback for known pan controls and known compressor controls 2016-07-07 11:36:31 -07:00
d40cc6f6f9 OSC: Make sure selected strip is corrected when it's stripable vanishes 2016-07-06 19:28:41 -07:00
44fcbd988c mackie: ensure that the strip where select was pressed ends up as the first_selected_stripable 2016-07-06 21:40:29 -04:00
77a8da9010 set ControlProtocol::_first_selected_stripable at the right time only 2016-07-06 20:58:33 -04:00
cf9706974c a few post-rebase cleanups 2016-07-06 14:03:24 -04:00
2047ee527c restore/extend/simplify ControlProtocol API to allow tracking of selection 2016-07-06 13:39:10 -04:00
eed3ea5047 remove a bunch of code that will no longer be used 2016-07-06 13:38:13 -04:00
860ffed6d1 OSC: Clear expand Lamp on strip observer destroy 2016-07-05 14:11:16 -07:00
fef79d46bb OSC: Signal for editor mixer change. (Selected or not) 2016-07-04 20:07:38 -07:00
bc1f571954 OSC: /strip/select * should set new selected strip not toggle what is there. 2016-07-04 18:34:48 -07:00
291aec468f use session stripable selection API
and remove old ControlProtocol signals to talk to GUI etc.
2016-07-04 12:45:53 -04:00
b27d9bb02a OSC: select is global not per surface. 2016-07-04 08:27:16 -07:00
14c50b317c operate directly on realtime controls, not via Session 2016-07-04 09:27:33 -04:00
a373e4cfc8 UI: Add editor_mixer route pointer to session so all UIs can know the same current_strip even in a selected group. 2016-07-03 18:22:09 -07:00
e6621c4405 OSC: select off by one bug, something must have changed by 1, fixed 2016-07-03 15:28:03 -07:00
661123c756 OSC: Account for some select edge cases 2016-07-01 21:21:08 -07:00
6ed7336384 OSC: make sure out of bank strip can not be converted to a stripable. 2016-07-01 18:31:13 -07:00
3491f22c04 OSC: Don't look for which stripable is selected until we actually need it, It may be wrong at application start. 2016-07-01 18:12:31 -07:00
55722a74fb OSC: Change all time feedback to /position/<type> 2016-07-01 17:28:08 -07:00
7f712ddd4c OSC: Select tweak. 2016-06-29 19:57:13 -07:00
95beda06d9 OSC: Reworked select to follow Gui selected strip regardless of it's inclusion in bank 2016-06-29 19:38:17 -07:00
f3dd9eef8b OSC: master/monitor forced to sort at end 2016-06-22 14:50:13 -07:00
844bf70002 OSC: Fix math off by one, Check for all stripable controls because VCAs have less (crash fix) 2016-06-22 14:10:59 -07:00
64d7a82a52 fix gcc4 builds C++98
Flag is an enum -- not a class nor namespace
2016-06-22 16:18:07 +02:00
cad5ed4f21 OSC: Might help if I used the right variable, Really fix select. 2016-06-21 20:31:53 -07:00
74806a43c9 OSC: Fix out of range track. (crash) 2016-06-21 19:19:07 -07:00
daddf2179f OSC: Add strip type selection. 2016-06-21 18:47:43 -07:00
557031ca11 Remove confusion over ambiguous symbols
libboost and libsigc++ both contain symbols called _1() / _2() etc. Forcing the use of namespace sigc causes us to use the ones from sigc++ when in fact, we want the ones from boost.

Hopefully this fix will work for all compilers.
2016-06-18 11:41:12 +01:00
6ca3c67046 Use Glib::usleep() for consistency 2016-06-18 11:34:14 +01:00
f4047b9a26 OSC: take care of track order changes too. Deal with mixer topology changes one time. 2016-06-16 19:41:39 -07:00
3754859f2f OSC: Blank some more feedback values when select observer is destroyed. 2016-06-16 16:07:09 -07:00
dcf852aae4 OSC: Catch new strips, gone strips and redo banks and observers. Add more select feedback. 2016-06-13 11:57:15 -07:00
21bf61d559 MackieControl: in sends subview, if there are no sends for a vpot, drop the controllable for the vpot 2016-06-12 08:44:34 -04:00
beafe2be6e fix MCP Cancel button "escape" action 2016-06-12 08:43:24 -04:00
a8d7b0fca3 redesign/reimplement selection knowledge in MackieControlProtocol object
strips listen to Stripable::presentation_info().PropertyChange, and forward selected status changes
to the MCP object
2016-06-12 08:19:16 -04:00
4717080aee reduce verbosity of -D mackie in the presence of continued handshaking/keepalive messages. 2016-06-12 08:18:01 -04:00
3d9517c22f OSC: Add send enable control. 2016-06-11 13:57:27 -07:00
63e6378713 OSC: added solo isolate and solo safe/lock. 2016-06-11 12:09:15 -07:00
1695de335d OSC: Constrain master pan position as width requires. 2016-06-10 13:45:07 -07:00
b588308bed OSC: force non-active controls to zero. Keep pan within range wide allows. 2016-06-10 13:05:58 -07:00
2d4358ddb5 Various changes to PresentationInfo and a small consolidation of sorters.
The semantics for sorting PresentationInfo are up to the caller, not the
PresentationInfo object, so operator<() was removed and callers specifically
invoke ::order() for sorting.
2016-06-10 13:57:18 -04:00
3eaa6c0389 remove certain ControlProtocol signals related to stripable selection
includes change to Mackie support so that strips listen for PropertyChange
on the stripables they represent, no global selection change used anymore.
2016-06-10 13:57:18 -04:00
f65713c426 OSC: Finished Select send levels 2016-06-09 18:33:00 -07:00
049a678ff9 OSC: change the word phase to polarity as per mailing list. 2016-06-09 15:24:43 -07:00
37aed5715b OSC: add phase control 2016-06-09 12:07:57 -07:00
4905422a47 OSC: Added pan width to selected 2016-06-09 11:11:48 -07:00
199f20ff2c namespace required 2016-06-09 13:24:35 -04:00
3e29a46603 OSC: select commands for pan and trim added, feedback for select sends. GUI_select feedback done. 2016-06-08 23:08:56 -07:00
f05ff9570e fix faderport's use of action name 2016-06-07 19:25:33 -04:00
d511d62f65 OSC: reset select strip on bank change or select for non-existing stripable.
Fixes crash when selecting unused strip and then changing bank.
2016-06-06 23:40:35 -07:00
ee1046bbed OSC: Respond to GUI select. 2016-06-06 14:54:33 -07:00
cb7e8025f2 Accommodate newly introduced source(s) in our MSVC project (ardour_osc)
(also, libardour_osc now needs to link to libardour_timecode)
2016-06-06 09:06:08 +01:00
cce4726c4c OSC: More controls in /select/*, off by one fixed 2016-06-05 22:30:14 -07:00
91ad3ef81d don't connect to individual PresentationInfo signals per Stripable; we only reorder strips once, when the global signal arrives 2016-06-05 16:33:02 -04:00
dfcc8fd547 Stripable signals moved to PresentationInfo 2016-06-05 16:33:02 -04:00
6637260ac9 Stripable signals moved to PresentationInfo 2016-06-05 16:33:02 -04:00
03d2939f27 OSC: Added feedback for /select 2016-06-05 07:25:54 -07:00
3f336f2021 OSC: Bug fix for no monitor, bug fix heart beat on turned global feedback on.
Start select code.
2016-06-04 07:04:32 -07:00
ee0f073e8d move from PresentationInfo::global_order() to PresentationInfo::order 2016-06-03 15:15:39 -04:00
6e258e0ade OSC: Fixed some button type commands to have path only as well as path f 2016-06-01 14:27:30 -07:00
38ab8dee90 Accommodate recently introduced source(s) in our MSVC project (ardour_osc) 2016-06-01 14:30:28 +01:00
d60200c899 OSC: finish /set_surface group of commands. 2016-05-31 22:04:25 -07:00
9ff3c55e34 OSC: Paths changed, feedback added, etc. 2016-05-31 14:09:38 -07:00
f03f2e5c3f use new record safe control in surface support 2016-05-31 15:30:45 -04:00
28afaebdc4 fix SNAFU in which Stripable::rec_enable_control() was incorrectly defined as ::recenable_control()
Make Mackie support code use the Stripable to access the rec-enable control while we're here
2016-05-31 15:30:45 -04:00
a2704dbff8 use correct signal to select route from generic MIDI, and add explanatory comment 2016-05-31 15:30:43 -04:00
08f01085de remove now-redundant control protocol route-selection signals 2016-05-31 15:30:43 -04:00
c438ba2b6e remove no-longer-used TrackSelectionChanged signal from ControlProtocol 2016-05-31 15:30:43 -04:00
0d9433aef6 remove no-effect handling of route active-status change in Mackie Control code 2016-05-31 15:30:43 -04:00
9d2538ae72 remove any reference to Route in Generic MIDI support (basically a NO-OP) 2016-05-31 15:30:43 -04:00
cefd3ac8be convert faderport to use Stripable instead of Route 2016-05-31 15:30:43 -04:00
186209c03c fix crash in mackie code caused by assumption that all Stripables have meters 2016-05-31 15:30:43 -04:00
4b0a235f91 manually fix rebase/merge issues for Mackie Control support 2016-05-31 15:30:42 -04:00
4b7bbacaaa make mackie surfaces aware of VCAs 2016-05-31 15:30:42 -04:00
c34ad3a723 convert Mackie Control Surface support to use Stripable, not Route 2016-05-31 15:30:42 -04:00
dd57a83793 add Stripable analogs for Route signals and methods in ControlProtocol
These will go away once all surfaces have migrated to Stripables
2016-05-31 15:30:42 -04:00
8346fab567 remove irrelevant, out of date and incorrect comment 2016-05-31 15:30:42 -04:00
d5127001bb move ControllableDescriptor from libpbd to libardour; add support for describing VCAs 2016-05-31 15:30:42 -04:00
e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
5b5e64d860 remove Route::listening_via_monitor()
This is better tested with direct use of the solo_control and
Config->get_solo_controls_are_listen_controls()
2016-05-31 15:30:41 -04:00
69250b64ea move ever close to working master/slave logic, this time with audio testing 2016-05-31 15:30:41 -04:00
653ae4acd6 universal change in the design of the way Route/Track controls are designed and used. The controls now own their own state, rather than proxy for state in their owners.
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-31 15:30:40 -04:00
4b36593106 fix faderport and mackie to use route AutomationControls to be notified about solo/mute changes 2016-05-31 15:30:40 -04:00
aee283f056 use redesigned Route and VCA object architecture/API 2016-05-31 15:30:39 -04:00
nick_m
34c9ac9dd7 Tempo ramps - rename bbt_time() -> bbt_at_frame(), frame_time() -> frame_at_bbt() 2016-05-27 23:38:17 +10:00
b0200b23f2 Accommodate the fact that 'msvc_resources.rc.in' got moved to a new path 2016-05-21 10:33:18 +01:00
3060b7bbc4 upper parameter limit is inclusive. 2016-05-14 16:14:45 +02:00
ae7cc64377 copy-n-paste the ARDOUR_UI toggle-roll code into BasicUI (for Faderport and others) 2016-05-09 08:17:23 -04:00
672528baf4 fix shared_ptr<Route> management in Mackie support so that deleted routes are destroyed 2016-05-07 13:36:04 -04:00
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
8b52b69810 make BasicUI (for control surfaces) loop toggle work like the GUI 2016-04-30 10:54:40 -04:00
4a226385b6 OSC: Fix Solo to work with both SIP and Listen. 2016-04-27 09:06:46 -07:00
622ba89dd9 OSC: removed unused _namespace_root variable. 2016-04-19 16:13:18 -07:00
40aa4cfe06 Modify our MSVC projects to build liblua as a DLL rather than a static lib 2016-04-04 16:40:20 +01:00
234b06a18c OSC: Changed gainVCA to gainfader as VCA is already used. 2016-03-29 07:58:20 -07:00
3eb5f76edb OSC: fix issue 6839, make all OSC gaindB values below -192, inf. 2016-03-27 17:46:14 -07:00
6c3559dc6c OSC: added a linear VCA style gain control for faders that are 0 to 1 linear.
path = /ardour/routes/gainVCA if RID position
2016-03-26 11:38:19 -07:00
83bcaa1882 plug a tiny memory leak 2016-03-19 10:51:26 +01:00
ba78359129 prepare for update to waf 1.8
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.

bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
d3634c5779 Accommodate 'lua' search paths in various projects where they're needed
(i.e. so that MSVC can find header files from lua).
2016-02-27 16:29:55 +00:00
c932c56233 cleanup post-rebase-against-master messes 2016-02-22 15:31:25 -05:00
bc487bb4b0 replicate the remove-all-trailing whitespace commit(s) in master 2016-02-22 15:31:24 -05:00
379bc35948 update Mackie code to use new API to get all actions 2016-02-22 15:31:24 -05:00
67e19c177f radically change Keyboard/Binding API design to disconnect Gtk::Action lookup from binding definition
We need this because we need binding information/objects before all
Actions have been defined.
2016-02-22 15:31:24 -05:00
f519edbe8e fix segfault in libardour unit-tests (possible crash in mackie sf) 2016-02-20 20:26:34 +01:00
318f3850de third time lucky 2016-02-19 23:25:15 +01:00
452bca79eb and now without typo 2016-02-19 23:19:19 +01:00
9633ea3b01 fix Windows OSC support 2016-02-19 23:16:38 +01:00
f8bc9c66a5 OSC: remove "/session/loaded" message altogether, for testing on Win. 2016-02-16 16:06:39 -06:00
de94f3ce83 fix typo in previous commit 2016-02-15 17:29:54 -06:00
136f705af9 Defer session_loaded until AFTER lo_server_new.
This seems like the right thing to do, and -might- fix OSC on Windows.
2016-02-15 16:55:21 -06:00
a1d2c13077 mackie: if device type is unknown, make -D mackie show that 2016-02-07 10:28:07 -05:00
80a678de28 handle Mackie control device type ID = 0x6 (Behringer X-Touch Compact) 2016-02-07 10:28:07 -05:00
d862c357b3 change faderport name 2016-02-06 16:42:34 -06:00
09921e1d76 Mackie: shift+marker needs to remove marker. moved session-range to shift+solo.
Originally cbbd87f50b in mixbus/master
2016-02-06 15:47:27 -05:00
5516e3bdd2 mackie: better fix for 2016-02-06 14:24:06 -05:00
3b1d1675de mackie: stop crashes when switching to X-Touch Compact device 2016-02-05 17:59:29 -05:00
ff14f4d63c Mackie Protocol: more fixes for aac6a5 2016-02-04 11:44:23 -06:00
1b5931a028 Mackie Protocol: fixes for aac6a5 2016-02-04 11:17:45 -06:00
37d6265e13 mackie: try to improve logic and management of device profiles 2016-02-04 11:24:26 -05:00
d3081fd816 mackie: reverse previous profile editor changes; allow profile to define anything except plain and shift actions.
For Fn keys we also allow plain and shift definitions
2016-02-04 11:24:26 -05:00
aefa63aaa6 mackie: radically shrink down the profile editor
We only expose user control over Fn keys and only the shift modifier
2016-02-04 11:24:26 -05:00
23b1944bea Mackie protocol: set-session-from-edit-range moved to shift+marker 2016-02-04 09:30:37 -06:00
aac6a59071 Mackie Protocol: Move buttons to more accurately reflect default mcp legends.
Modifiers are only modifiers (no actions directly on modifiers).
Punch indicators moved to Drop/Replace.
Added Save, Undo, Cancel (select none) and Enter (select all tracks)
Fixed click button.
Up&Down buttons now move the selected track up & down.
2016-02-03 18:11:21 -06:00
10a11492dd mackie: fix gain control display 2016-02-03 17:27:14 -05:00
eeff08aac4 mackie: use bus shortname in send subview.
Also slightly tighten route name display
2016-02-03 17:27:01 -05:00