13
0
Commit Graph

120 Commits

Author SHA1 Message Date
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
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
ddfc37e42a fix binding to long-press for User button on FaderPort 2018-03-26 13:56:50 -04:00
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
fff9a3cc7f Allow FaderPort to select VCAs 2017-08-06 22:18:01 +02:00
2d60a69c2d Consolidate ctrl surface code 2017-08-05 01:28:11 +02:00
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
fde0e293a3 Remove unused "mark" parameter from stop_touch() API 2017-07-24 01:59:18 +02:00
55df5b39bc Prepare removal of redundant get_user/set_user API. 2017-06-21 18:13:41 +02:00
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
f28bfb2648 Use XMLNode::get/set_property API in FaderPort class 2017-04-19 09:36:54 +10:00
dc98fa6f3f Fix Faderport Proj button (show-editor action) 2017-03-14 09:27:59 -05: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
f1e6cc50b0 Revert "libs: debug output for faderport/editor mixer strip sync"
This reverts commit 6fb91b1ac2.
2017-02-25 19:56:51 +01: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
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
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
8a26f02851 amend FaderPort code to use BasicUI::goto_start() with optional argument 2016-09-27 14:59:29 -05:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
14c50b317c operate directly on realtime controls, not via Session 2016-07-04 09:27:33 -04:00
f05ff9570e fix faderport's use of action name 2016-06-07 19:25:33 -04:00
f03f2e5c3f use new record safe control in surface support 2016-05-31 15:30:45 -04:00
cefd3ac8be convert faderport to use Stripable instead of Route 2016-05-31 15:30:43 -04:00
d5127001bb move ControllableDescriptor from libpbd to libardour; add support for describing VCAs 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
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
c932c56233 cleanup post-rebase-against-master messes 2016-02-22 15:31:25 -05:00
d862c357b3 change faderport name 2016-02-06 16:42:34 -06:00
9cce8d10a9 faderport: save+restore footswitch setting 2016-02-03 11:53:56 -05:00
e38fad6228 faderport: fix binding of actions to footswitch 2016-02-02 09:21:13 -05:00
846afdd8e5 faderport: make blink/on/off status of record enable LED match the GUI one 2016-02-02 09:05:00 -05:00
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
90d12b6d5a faderport: add a few more sensible actions to the footswitch options 2016-01-25 15:11:47 -05:00
b02b6cc3cd faderport: add footswitch combos to GUI to allow user control over what the switch does 2016-01-25 15:11:36 -05:00
5b7fa0b3c5 faderport: add footswitch button 2016-01-25 15:11:26 -05:00
9e5b7db89f first compiling, mostly working version of group controls changes 2016-01-22 11:58:31 -05:00
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
5e4d9612e3 faderport: stop event loop when destroying object 2016-01-14 10:59:27 -05:00
d134ba037d fix compilation of debug builds
ArdourSurface::FaderPort::Button::name is private
2016-01-11 11:07:09 +01:00
530dd4255c faderport: remove wierd shift use design; make user+shift work again 2016-01-10 23:32:21 -05:00
58edc83d11 tweak/add faderport debug messages 2016-01-07 16:42:57 -05:00
d7078df3eb amend 9e3299f for Mixbus 2016-01-03 20:39:47 +01:00
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
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