Commit graph

133 commits

Author SHA1 Message Date
Paul Davis
e63c805fe2 mackie: clean up (some) interactions between subview mode and selection
Also, stop Plugin button from doing anything, since it has nothing to do yet
2016-01-27 19:00:27 -05:00
Paul Davis
66686a4e2a mackie: semi-working Sends subview mode 2016-01-27 14:15:41 -05:00
Paul Davis
9b2af90328 remove mackie send pot mode (subview mode for sends coming up) 2016-01-27 12:41:01 -05:00
Paul Davis
fe3d85b204 Revert "mackie: still respond to route groups visibility changes"
This reverts commit a9ec547457.
2016-01-19 14:16:49 -05:00
Paul Davis
a9ec547457 mackie: still respond to route groups visibility changes 2016-01-19 13:38:29 -05:00
Len Ovens
92dba5bfa3 Mackie Control: Added hidden tracks view mode. 2016-01-16 07:32:30 -08:00
Len Ovens
6b356448e3 Mackie Control: Don't show hidden routes. 2016-01-15 13:16:24 -08:00
Len Ovens
0b58cde467 Mackie Control: Remove unused global_solo_* functions, moved functionality to clearsolo_* functions.
Changed to clear only rather than toggle and added Listen Clear as well.
2016-01-14 13:06:14 -08: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
Paul Davis
93d5fe83c8 mackie: properly track lifetime of subview route; fix subview/potmode LED state mgmt 2015-12-16 06:01:55 -05:00
Paul Davis
e3d0de3bf6 mackie: use new route API for universal access to pan/eq/dynamics parameters to provide panning and EQ control 2015-12-16 06:01:20 -05:00
Paul Davis
81179389d3 mackie: cleanup subview mode a little 2015-12-16 05:55:10 -05:00
Paul Davis
8ba8f1c0b0 fix cherry-pick conflict 2015-12-16 05:54:43 -05:00
Paul Davis
a1ef99b9b7 add beginnings of EQ and dynamics control to mackie for mixbus 2015-12-16 05:52:36 -05:00
Paul Davis
8bdab38d43 track add/remove of monitor and/or master busses in mackie support code.
Somehow fails to move master fader to correct position when monitor section is added
2015-12-13 08:33:09 -05:00
Len Ovens
0103de801a Mackie Control, fix timecode sometimes won't update. Do full display if transport moves faster than 800%. 2015-12-11 12:57:24 -08:00
Len Ovens
96c6da0804 Make mackie control view mode save bank for all modes.
Also moved duplicated code to one function.
2015-10-22 15:30:34 -07:00
Len Ovens
7a453d2329 Make sure Mackie Control view modes start with route 1 except Mixer mode goes to last position. 2015-10-20 19:31:04 -07:00
Len Ovens
81f6ad0d0c Added "Selected" view mode to Mackie Control. 2015-10-20 18:54:56 -07:00
Len Ovens
48f91c6ef4 Add Audio Tracks and Busses too. 2015-10-18 19:55:56 -07:00
Len Ovens
0185c9f25a Added Midi Tracks View mode. 2015-10-18 18:13:16 -07:00
Paul Davis
53a28c230a mackie support omnibus patch
Fixes all kinds of miscellaneous issues with MCP. Also removes several theoretical pan modes, replace "Tracks"
pan mode with "Trim", and takes a tiny step towards view modes
2015-10-13 15:34:53 -04:00
Paul Davis
3169ac0444 fix the design of Mackie XML state management 2015-10-13 07:33:27 -04:00
Paul Davis
f8875df18f Several changes to Mackie support. Breaks existing Mackie state on disk but not
in any way that causes problems, just loss of pre-existing connectivity.

1. retain state of current device (and serialize to disk) when switching
devices, and restore that state when switching back to it.
2. fix port and surfacenaming.
3. fix bundle assembly so that all ports (for multi-surface combos) work.
4. rationalize master position numbering
5. add small sleep before starting device handshake after reconnection. This
is ugly but seems to be necessary, unfortunately.
2015-10-11 12:01:27 -04:00
Paul Davis
965b135842 numerous changes to Mackie support, generally offering better robustness 2015-10-10 17:14:30 -04:00
Paul Davis
9b5a071c33 varied and wide changes to get input and output combos closer to working 2015-10-09 14:01:22 -04:00
Paul Davis
8338fd8ac6 add DeviceChanged signal to MCP and make surface lock mutable for use in const methods.
Also add nth_surface() API to MackieControlProtocol
2015-10-08 21:55:38 -04:00
Len Ovens
6899bd7c15 Add Trim to Mackie controls. 2015-10-07 21:36:16 -07:00
Paul Davis
c9658134ce add button time and explicit bank switching to MCP support 2015-10-07 15:13:03 -04:00
Paul Davis
ce9b271a92 track Mackie MIDI port connection status as primary trigger for handshake with device 2015-10-07 13:17:49 -04:00
Robin Gareus
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Paul Davis
6bf0d4f627 add basic support for HUI heartbeat, only used for HUI devices 2015-10-03 13:13:58 -04:00
Paul Davis
4d47760d61 add new (fast) redisplay timer that pushes parameter display text to MCP device.
Changes are queued in a FIFO, and pulled when a timeout in the MCP event loop fires.
2015-10-02 22:08:14 -04:00
Paul Davis
ccf505c3a2 implement backlight, fader touch sensitivity and recalibrate fader functions for MCP GUI 2015-10-02 22:08:14 -04:00
Paul Davis
a4fced6d63 change zoom and scrub handling to use modifier bits 2015-10-02 07:32:56 -04:00
Len Ovens
4129b8865c Fixed Mackie control port naming for extender use (fixes #6500) 2015-08-14 08:57:13 -07:00
Len Ovens
962ba01cfd Fixed feedback for MCP buttons and LEDs not working. 2015-08-13 13:00:04 -07:00
Paul Davis
2ea5962af2 rationalize save/restore of control surface "feedback" property 2015-06-24 13:46:07 -04:00
Len Ovens
71feea97a0 Clean up mackie surface profile editor from things that don't work or match the mackie hardware (fixes #6342) 2015-06-04 15:02:51 -07:00
Paul Davis
4512d013eb put all of the Mackie control surface code into the ArdourSurface namespace 2015-04-15 20:37:20 -04:00
Paul Davis
602e390649 changes to Mackie Control support for new crossthreadchannel implementation 2014-12-03 21:22:34 -05:00
Paul Davis
25e1eddc50 remove "port sources" management from MidiControlUI and Mackie support.
This was necessary due to a bug/design issue between Glibmm and Glib (see https://bugzilla.gnome.org/show_bug.cgi?id=561885)
 but the problem needs to be managed by the *creator* of the IOSource and that has now moved inside CrossThreadChannel.
2014-11-26 18:22:22 +02:00
Paul Davis
80d83fd238 add a hack to deal with device discovery race, in which the devices were not actually known to be ready before the last update_surfaces() call (which is where binding between strips and routes occurs) ; add support for Mackie Control touch on/off messages 2014-02-19 23:25:08 -05:00
Paul Davis
b0e4f81eb3 merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
Still need to add API export/visibility macros for the canvas library.
2013-12-27 14:29:06 -05:00
Paul Davis
362769e967 new CP API and fix several egregious bugs with port handling when switching devices, setting state etc. 2013-12-21 15:31:28 -05:00
Paul Davis
85cd647226 Mackie Control support now saves & restores port connections for devices not using ipMIDI (not required for ipMIDI anyway) 2013-12-13 16:04:34 -05:00
Paul Davis
a17bafa964 remove some unused code from mackie support 2013-12-13 16:04:34 -05:00
Paul Davis
2fab8182cc add -fvisibility=hidden to libgtkmm2ext, and make things work 2013-10-17 14:36:41 -04:00
Paul Davis
79fed95c1b tighten up error handling a little bit during various setup functions for Mackie Control 2013-09-06 10:39:14 -04:00