13
0
Commit Graph

1547 Commits

Author SHA1 Message Date
3be0170e82 Use XMLNode::get/set_property API in GenericMidiControlProtocol class 2017-04-19 09:36:54 +10:00
f28bfb2648 Use XMLNode::get/set_property API in FaderPort class 2017-04-19 09:36:54 +10:00
8144b197c0 Use XMLNode::get/set_property API in ARDOUR::ControlProtocol class 2017-04-19 09:36:54 +10:00
63296285be Add missing header include to ControlProtocol class source file 2017-04-19 09:36:47 +10:00
362303f793 FP8: Fix sort-order 2017-04-18 16:09:44 +02:00
5dce10500c FP8: handle backend changes + reconnect
When the backend is dropped or changed, on engine-restart
the connection_handler() re-establishes already connected ports.
There's no disconnect when the backend dies or is hard-stopped.
2017-04-18 15:14:00 +02:00
3243e17c71 FP8: allow to re-initialize the Strips w/o restart 2017-04-18 15:01:54 +02:00
bce08cf4f3 FP8: experiment with selection-mode 2017-04-18 13:39:42 +02:00
629b5e0446 clear + re-init faderport at disconnect 2017-04-18 03:20:33 +02:00
8e5a972a24 Managed to trigger an assert()
Create new Mixbus session, initially incrementally adding Busses to
the session triggers a series of "assign_stripables()"
2017-04-17 23:50:11 +02:00
84804f7d90 cont'd FP8 tweaks
* include Mixbus PRE plugin on Mixbusses
* Mixbus master-assign on right-most "S" button
* fix parameter-banking and assignment
* fix typo in 029e963fb (fader range constaint)
2017-04-17 20:06:00 +02:00
029e963fb5 FP8: limit fader range
In case of VCA masters or otherwise the value can exceed the max
+6dB and internal_to_interface() returns a value > 1.0 which cannot
be represented on the physical fader (MIDI &0x7f wraps)
2017-04-16 23:48:06 +02:00
55cd96df8d Clean up after generic MIDI surface -- #7311
When there are some non-released MIDIControllables, signal are still
delivered to the objects, even if there's no surface thread to handle
the signals anymore.
2017-04-16 19:06:17 +02:00
67f2e4b866 FP8: add metronome level reset 2017-04-16 17:18:23 +02:00
8a3d9317bd FaderPort8 details:
* make shift buttons equivalent
* 2 x stop: move to session-start
* RTZ: return to zero (not session-start)
* in Pan mode: encoder controls pan-width (w/o shift)
2017-04-15 21:20:51 +02:00
18dcd4d7ff FP8: Configuration UI layout & design (add image, separators) 2017-04-15 15:19:58 +02:00
60c12df517 Fondle Port 8
* only start touch on parameters in "Touch" mode.
* fix "mute clear" (also affect mute-automation in touch)
2017-04-14 23:03:31 +02:00
74c8ba5c9a FP8: assign toggled plugin-parameters to buttons 2017-04-14 23:03:31 +02:00
7197231f4c FP8: Allow binding "Select" to a controllable or functor 2017-04-14 23:03:31 +02:00
43d9feabd3 cont'd FP8 refinement & details
* Access pan-width via shift, press encoder to reset
* Add "touch-start" to encoder events
* Show plugin-param value-bar
* Sends & well-known ctrls: follow strip-selection
* map "select" to strip-selection in Sends-mode
* Fader group override (via shift)
* Prev/Next button tweaks.
* consistent enum naming ...
2017-04-14 19:56:42 +02:00
d43a23fe28 Faderport8 control surface support 2017-04-13 21:21:59 +02:00
d64ca9be08 Properly expose "well known" comp_redux output. 2017-04-12 21:14:50 +02:00
6b8be8fa71 Fix set-*-from-edit-range actions, when accessed from control surfaces. 2017-04-01 09:57:06 -05:00
eb1bd9d8e2 OSC: don't skip when deleting cue observers 2017-03-29 16:24:43 -07:00
8de580c123 OSC: Clear devices should clear cue observers as well. 2017-03-29 16:07:21 -07:00
e7ca514887 OSC: reduce feedback noise for surfaces using /strip/list 2017-03-26 21:16:45 -07:00
f5931457fb OSC: tell surfaces using /strip/list they need to rebuild after strip add/remove 2017-03-24 14:05:39 -07:00
011c4a05d8 OSC: update /strip/list response to add aux, midi bus and VCAs 2017-03-24 13:07:03 -07:00
f69808b372 BasicUI moved toggle_click,toggle_roll and stop_forget from menu action to session calls 2017-03-19 23:09:45 -07:00
7d41e542fe OSC: add feedback for /monitor/mute,dim,mono 2017-03-19 08:54:58 -07:00
1af7e97fd0 basic_ui send midi_panic directly to session rather than through GUI 2017-03-19 07:27:24 -07:00
b0e5ab1b81 OSC add /monitor/mute,dim,mono 2017-03-18 20:05:04 -07:00
caae0546a7 OSC fix toggle_monitor_mute/dim/mono in basic_ui 2017-03-18 14:14:02 -07:00
891ad41c48 OSC: fix pan stuck at centre. 2017-03-15 13:24:13 -07:00
175027fb6c OSC amend access_action with action in line to ignore if param is 0 2017-03-15 09:20:42 -07:00
cd4462323f OSC: add new /access_action/group/action f 1 for float only controllers 2017-03-14 18:47:41 -07:00
dc98fa6f3f Fix Faderport Proj button (show-editor action) 2017-03-14 09:27:59 -05:00
248521221c OSC debug: "ALL" == all messages incl. invalid ones 2017-03-13 22:35:07 +01:00
6af51b52ff Use dedicated "show editor/mixer" actions 2017-03-10 17:52:42 +01:00
f21111d7df Faderport uses the Mix and Proj buttons to summon mixer and editor; there is no longer a Toggle. 2017-03-09 14:29:08 -06:00
ad6ddf70df Don't allow GMCP to override loading_state_version
- GMPC does not use it directly
- when GMPC was enabled Stateful::loading_state_version was set to 1000
  (the protocol is at 1.0.0)
- it messes up session-loading, particularly various plugin states and
  templates (e.g  Processor::set_state_2X was used)
2017-03-04 17:55:22 +01:00
f1e6cc50b0 Revert "libs: debug output for faderport/editor mixer strip sync"
This reverts commit 6fb91b1ac2.
2017-02-25 19:56:51 +01:00
df52c8c748 OSC: correct busses spelling in GUI 2017-02-25 08:49:18 -08:00
6fb91b1ac2 libs: debug output for faderport/editor mixer strip sync 2017-02-24 23:10:03 +01:00
2b9525c991 try to make sure faderport shows the same strip as the editor mixer strip 2017-02-24 22:54:25 +01:00
febd1d5c88 remove misleading/incorrect comment
The previously-commented code is precisely what gets invoked
when solo state changes, and had nothing to do with actually
changing solo state in any way.
2017-02-24 10:18:57 +01:00
6fbdfa353b OSC: remove invalid feedback for solo and pan az. 2017-02-23 15:45:28 -08:00
b5dbfc9931 leave a ToDo note for the mackie surface 2017-02-17 04:02:15 +01:00
9d8829f5bf Remove direct calls to set solo_control()
Changing solo-state needs to be done in rt-context to atomically
propagate solo/mute.

set_control() queues a rt-event, later Session::rt_set_control() calls
Session::update_route_solo_state() to propagate solo/mute.
2017-02-17 03:58:51 +01:00
8243aeb3a1 remove debugging stacktrace from mackie code 2017-02-09 12:47:25 +01:00
e75c713e5e make the leftmost mixer stripable API at least work as advertised 2017-02-01 11:57:37 +01:00
0f4530af0d add new API to ControlProtocol to allow GUI to specify left-most mixer strip
Subject To Change. Mileage May Vary. Offer Not Good In All Territories.
2017-02-01 11:46:42 +01:00
bb74bba1c7 mackie: catch data on what presentation info aspects changed; don't change banks on a PI change 2017-02-01 10:27:34 +01:00
9e7652ca62 debugging with markk: stacktrace on bank switch in mackie code 2017-01-31 20:12:04 +01:00
6f66fbbf73 remove recently added MackieControl DEBUG_TRACE msgs 2017-01-31 19:16:50 +01:00
1c9df390bc stop DEBUG_TRACE for MackieControl crashing in some conditions 2017-01-31 19:16:35 +01:00
0d72fe65a2 mackie: use "markN" for new markers, like the GUI (not "markerN") 2017-01-31 18:24:39 +01:00
7c517f6566 mackie: check modifier bits for button AFTER identifying possibly remapped button ID 2017-01-31 18:08:44 +01:00
efd222afe9 mackie: more debug tracing 2017-01-31 17:52:59 +01:00
58c1ff368c mackie: more debug tracing 2017-01-31 17:48:49 +01:00
9dc2ef28be mackie: more debug tracing for remapped buttons 2017-01-31 17:43:33 +01:00
8f13d33efe Revert "mackie: make profile-mapped keys maybe actually do something"
This reverts commit 0d7f88afbd.
2017-01-31 17:37:45 +01:00
de189721e8 Revert "mackie: improve previous commit - use button_id not button.bid() to make remapping work"
This reverts commit 16804e20c8.
2017-01-31 17:37:23 +01:00
16804e20c8 mackie: improve previous commit - use button_id not button.bid() to make remapping work 2017-01-31 17:31:10 +01:00
0d7f88afbd mackie: make profile-mapped keys maybe actually do something 2017-01-31 17:23:45 +01:00
404686d258 more mackie debug tracing 2017-01-31 17:05:30 +01:00
88dae1c766 improvement to last loop button commit for MCP 2017-01-31 16:29:22 +01:00
f55ebf26bd mackie support should use BasicUI::loop_toggle() 2017-01-31 16:10:23 +01:00
cdddf79bcf Generic MIDI controls should affect group members too, if they exist 2017-01-31 15:33:13 +01:00
b424187be1 another action name fix for Push2 support 2017-01-28 19:16:24 +01:00
41aaee6fe9 fix action names in Mackie code after Editor=>Control migration 2017-01-28 18:51:03 +01:00
220fbbe0d8 fix another action name in BasicUI after Editor=>Control migration 2017-01-28 18:51:03 +01:00
e92c169275 fix action names in BasicUI after Editor=>Control migration 2017-01-28 18:51:03 +01:00
ade59c123c fix action names in Push2 support code 2017-01-28 18:51:03 +01:00
c8892f411a MCP GUI make surface numbering the same as port numbering and more explanatory. 2017-01-28 09:35:42 -08:00
390ce9bc4f mackie surface support changes actions recently moved to Common/* 2017-01-28 18:20:49 +01:00
8c7b0d1486 wiimote surface support changes actions recently moved to Common/* 2017-01-28 18:19:01 +01:00
c3d0af413a MCP fix issue 7219 get GUI to show main surface for right port 2017-01-27 21:44:40 -08:00
93f837b43e generic MIDI: put controllables into touch mode (if appropriate) when data is received 2017-01-23 13:25:56 +01:00
7daf620a8d add some comments 2017-01-22 19:49:40 +01:00
94c11ebd90 remove debug cruft from wscript for push2 that breaks with python3 2017-01-21 15:04:39 +00:00
f05a07837b MIDI leaks -- the Controllergate conspiracy debunked 2017-01-20 11:40:53 +01:00
5d7b6fdd62 ancillary change related to removal of boost::optional<Rect> 2017-01-19 20:55:38 +01:00
38e47c2f5f Accommodate newly introduced source(s) in our MSVC project (ardour_osc) 2017-01-13 10:18:38 +00:00
c9715af5d9 OSC: We want to see aux buses even if the gui has them hidden 2017-01-11 19:57:19 -08:00
19e6273502 OSC: Fix aux mute to check stripable exists first 2017-01-10 22:09:30 -08:00
bcbe8424ad fix nested templates for ye ancient compilers of the worlde 2017-01-10 09:58:26 +00:00
27773ed1b3 OSC: Fix cue observer stop to zero controls 2017-01-09 19:05:38 -08:00
b073328700 OSC: Add Talent individual monitor controls 2017-01-09 18:56:22 -08:00
564d6c4e3c OSC: remove unused overall feedback calls and variables 2016-12-31 08:01:23 -08:00
49d53bc98d OSC: remove feedback enable from GUI (unused) 2016-12-31 07:42:51 -08:00
81123a774a amend 3afe3f32df (remove unused global feedback option)
That commit accidentally removed unrelated code in generic-midi surface
which just happened to have the same name (get/set_midi_feedback) as the
unused preference.

Regardless, there was more cruft there. GMCP midicontrollables now use
the control surfaces' feedback option.
2016-12-31 15:20:07 +01:00
3afe3f32df Remove cruft (old MIDI feedback API) 2016-12-30 17:29:08 +01:00
c8d0015986 Tear down OSC settings GUI, when the protocol is disabled 2016-12-28 22:59:49 +01:00
d1e869f96d Move "Feedback" option to control-portocol settings 2016-12-28 22:59:15 +01:00
7b9d3f94d4 make solo button on faderport actually work 2016-12-19 22:56:37 +00:00
ecc2348ecc should not really bind a shared_ptr<Port> to a sigc slot, so don't do that 2016-12-18 00:07:59 +00:00
2614b0df43 OSC: Solo toggle should maintain state when locked, rec and rec_safe should show true state. 2016-11-27 20:52:14 -08:00
8ddeca133b OSC: Squelch select feedback when no feedback is configured. 2016-11-27 18:32:50 -08:00
1de584961a NO-OP; Backport changes from Mixbus branch 2016-11-27 22:54:23 +01:00
d26aac9020 OSC: no op, white space cleanup 2016-11-26 10:23:36 -08:00
c7f8471d52 OSC: Make plugin and plugin parameter numbering 1 based to match everything else. 2016-11-26 09:18:36 -08:00
5bf8a5537b OSC: Add patch from 7137 and make it work for manual port selection. 2016-11-25 10:10:49 -08:00
98f1cb76ed OSC: Patch from 7136 added cleaned and tested. 2016-11-25 07:26:18 -08:00
97f81479d3 fix ambiguity 2016-11-19 01:36:34 +01:00
b4b600a7b8 Generally speaking we use Glib::usleep() now in preference to standard ::usleep() 2016-11-18 20:01:43 +00:00
3e3791b72e OSC: mark session dirty if setup changes 2016-11-18 08:43:58 -08:00
1015e19ad3 OSC: issue 7116 fix send enable not working 2016-11-18 07:53:40 -08:00
91c2527f5c OSC: Fix default strip types to include Auxes. 2016-11-04 12:10:37 -07:00
77c9106769 OSC: Make Aux buses able to be separate. 2016-10-30 17:50:38 -07:00
9d63002d2f OSC: Slow down data storm at surface refresh 2016-10-29 10:56:44 -07:00
82d3842656 OSC: Add names/fader value to master and monitor. 2016-10-28 17:34:17 -07:00
e631119092 OSC: simplify int sends too. 2016-10-28 15:05:40 -07:00
d802c982cb OSC: More simplification - floats this time. 2016-10-28 14:42:56 -07:00
4eb2da491f OSC: simplify Global feedback (remove repetitive code) 2016-10-28 13:45:30 -07:00
5743013ae4 OSC fix debug logic for catchall messages 2016-10-23 19:00:20 -07:00
dd015e09a7 OSC Accept int in first parameter in path commands as well as float. 2016-10-23 18:45:25 -07:00
c43046320b reset peak meters used in push2 when stripable goes away 2016-10-17 15:58:39 -04:00
687ac2d294 remove unused variable 2016-10-17 15:58:39 -04:00
88dedfcbdb fix math ambiguity & OSX compilation
cc121.cc: In member function 'void ArdourSurface::CC121::encoder_handler(MIDI::Parser&, MIDI::EventTwoBytes*)':
cc121.cc:413: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
/usr/include/architecture/i386/math.h:343: note: candidate 1: double pow(double, double)
/usr/include/c++/4.2.1/cmath:357: note: candidate 2: float std::pow(float, float)
2016-10-13 23:41:49 +02:00
1552547f65 stop using gkd_pango_context_get() in ArdourCanvas::Canvas and require concrete instances to supply a Pango::Context; do this for GtkCanvas and Push2Canvas 2016-10-13 17:18:54 -04:00
W.P. van Paassen
279b19258b Small improvement and change to comply with coding standard 2016-10-13 12:10:39 -04:00
W.P. van Paassen
5a3fe4aa20 Inital support for Steinberg's CC121 control surface 2016-10-13 12:10:39 -04:00
Michiel de Roo
bbb20272d5 OSC added plugin activate/deactivate 2016-10-13 12:08:31 -04:00
Nathan Stewart
0df00465fd Fixed array index out of bounds in Push2Menu::set_active() 2016-10-12 14:50:03 -04:00
ba4220b135 fix some compiler warnings (from mingw) 2016-09-30 13:07:53 -04:00
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
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
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