Paul Davis
8a18929d57
remove Session::controllable_by_descriptor() and move code into GenericMIDI code (the only user).
...
This also removes enums introduced to describe well-known parameters for Mixbus. Lookup now involves string
parsing every time, but this is not likely to be a notable cost.
2018-06-21 13:05:58 -04:00
Paul Davis
224295266f
faderport: make ::invoke() tell us whether or not something was actually invoked for a button event
...
Only put the button into "consumed" if it actually invoked something.
This helps to get reverse-polarity footswitches to work as expected
2018-03-26 18:26:39 -04:00
Paul Davis
ddfc37e42a
fix binding to long-press for User button on FaderPort
2018-03-26 13:56:50 -04:00
Paul Davis
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Robin Gareus
fff9a3cc7f
Allow FaderPort to select VCAs
2017-08-06 22:18:01 +02:00
Robin Gareus
2d60a69c2d
Consolidate ctrl surface code
2017-08-05 01:28:11 +02:00
Robin Gareus
b5e0b5b09f
PortManager::unregister_port() must be called with process lock
...
This fixes "Failed to register <surface> port" when re-loading a session.
2017-07-28 20:15:15 +02:00
Robin Gareus
fde0e293a3
Remove unused "mark" parameter from stop_touch() API
2017-07-24 01:59:18 +02:00
Robin Gareus
55df5b39bc
Prepare removal of redundant get_user/set_user API.
2017-06-21 18:13:41 +02:00
Paul Davis
eb3f50e15c
change the way ControlProtocols (control surfaces) are notified and handle Stripable selection changes
...
The Editor continues to notify them, but via a direct call to ControlProtocolManager, not a signal.
The CP Manager calls the ControlProtocol static method to set up static data structures holding
selection info for all surfaces and then notifies each surface/protocol that selection has changed.
2017-05-12 14:51:39 +01:00
Tim Mayberry
f28bfb2648
Use XMLNode::get/set_property API in FaderPort class
2017-04-19 09:36:54 +10:00
Ben Loftis
dc98fa6f3f
Fix Faderport Proj button (show-editor action)
2017-03-14 09:27:59 -05:00
Robin Gareus
6af51b52ff
Use dedicated "show editor/mixer" actions
2017-03-10 17:52:42 +01:00
Ben Loftis
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
Paul Davis
f1e6cc50b0
Revert "libs: debug output for faderport/editor mixer strip sync"
...
This reverts commit 6fb91b1ac2 .
2017-02-25 19:56:51 +01:00
Paul Davis
6fb91b1ac2
libs: debug output for faderport/editor mixer strip sync
2017-02-24 23:10:03 +01:00
Paul Davis
2b9525c991
try to make sure faderport shows the same strip as the editor mixer strip
2017-02-24 22:54:25 +01:00
Robin Gareus
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
Paul Davis
7b9d3f94d4
make solo button on faderport actually work
2016-12-19 22:56:37 +00:00
Paul Davis
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
Paul Davis
8a26f02851
amend FaderPort code to use BasicUI::goto_start() with optional argument
2016-09-27 14:59:29 -05:00
Paul Davis
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
Paul Davis
14c50b317c
operate directly on realtime controls, not via Session
2016-07-04 09:27:33 -04:00
Paul Davis
f05ff9570e
fix faderport's use of action name
2016-06-07 19:25:33 -04:00
Paul Davis
f03f2e5c3f
use new record safe control in surface support
2016-05-31 15:30:45 -04:00
Paul Davis
cefd3ac8be
convert faderport to use Stripable instead of Route
2016-05-31 15:30:43 -04:00
Paul Davis
d5127001bb
move ControllableDescriptor from libpbd to libardour; add support for describing VCAs
2016-05-31 15:30:42 -04:00
Paul Davis
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
Paul Davis
69250b64ea
move ever close to working master/slave logic, this time with audio testing
2016-05-31 15:30:41 -04:00
Paul Davis
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
Paul Davis
4b36593106
fix faderport and mackie to use route AutomationControls to be notified about solo/mute changes
2016-05-31 15:30:40 -04:00
Robin Gareus
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
Paul Davis
c932c56233
cleanup post-rebase-against-master messes
2016-02-22 15:31:25 -05:00
Ben Loftis
d862c357b3
change faderport name
2016-02-06 16:42:34 -06:00
Paul Davis
9cce8d10a9
faderport: save+restore footswitch setting
2016-02-03 11:53:56 -05:00
Paul Davis
e38fad6228
faderport: fix binding of actions to footswitch
2016-02-02 09:21:13 -05:00
Paul Davis
846afdd8e5
faderport: make blink/on/off status of record enable LED match the GUI one
2016-02-02 09:05:00 -05:00
Paul Davis
f40167cb40
faderport: turn out all lights from destructor, and use Port::drain() to make sure data gets out
2016-02-01 13:27:08 -05:00
Paul Davis
90d12b6d5a
faderport: add a few more sensible actions to the footswitch options
2016-01-25 15:11:47 -05:00
Paul Davis
b02b6cc3cd
faderport: add footswitch combos to GUI to allow user control over what the switch does
2016-01-25 15:11:36 -05:00
Paul Davis
5b7fa0b3c5
faderport: add footswitch button
2016-01-25 15:11:26 -05:00
Paul Davis
9e5b7db89f
first compiling, mostly working version of group controls changes
2016-01-22 11:58:31 -05:00
Paul Davis
64c9198d60
add group disposition argument to Route::set_gain() and use it in various UIs
...
Executive decisions were necessary in a couple of places about the correct group disposition
behaviour, notably faderport and OSC surfaces
2016-01-18 12:11:09 -05:00
Paul Davis
5e4d9612e3
faderport: stop event loop when destroying object
2016-01-14 10:59:27 -05:00
Robin Gareus
d134ba037d
fix compilation of debug builds
...
ArdourSurface::FaderPort::Button::name is private
2016-01-11 11:07:09 +01:00
Paul Davis
530dd4255c
faderport: remove wierd shift use design; make user+shift work again
2016-01-10 23:32:21 -05:00
Paul Davis
58edc83d11
tweak/add faderport debug messages
2016-01-07 16:42:57 -05:00
Robin Gareus
d7078df3eb
amend 9e3299f for Mixbus
2016-01-03 20:39:47 +01:00
Paul Davis
9e3299f97d
change Controllable::set_value() API to include grouped control consideration.
...
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
Paul Davis
0d9efc1148
redesign cross-thread registration/signalling system
...
This new design will work even when threads that need to receive
messages from RT threads are created *after* the RT threads. The
existing design would fail because the RT thread(s) would never
be known the later created threads, and so signals emitted by the
RT thread and causing call_slot() in the receiver would end up
being enqueued using a lock-protected list. The new design ensures
that communication always uses a lock-free FIFO instead
2015-12-28 10:14:17 -05:00