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