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
Len Ovens
6faec91dd9
Force Flip normal before Bank ( fixes #6630 )
2015-10-10 19:59:29 -07: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
bda0ba173c
for an ipMIDI surface, make the GSource used for input hold the only reference on the GUIChannel.
2015-10-08 21:55:37 -04:00
Paul Davis
7e10c21468
make Mackie::Surface keep a reference to the input source+channel and clean up in destructor
2015-10-08 21:55:37 -04:00
Paul Davis
02181174c3
remove debugging display of message on MCP device
2015-10-08 14:51:27 -04:00
Paul Davis
0cb1c7b58c
lots of changes to try to get the Mackie Control display be more useful and usable
2015-10-08 12:51:44 -04:00
Len Ovens
6899bd7c15
Add Trim to Mackie controls.
2015-10-07 21:36:16 -07: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
Paul Davis
33d614359a
only use HUI heartbeat with HUI devices
2015-10-05 12:24:15 -04:00
Paul Davis
2dddf6504b
NOOP: delete trailing whitespace
2015-10-03 14:03:29 -04:00
Paul Davis
9d7b5f6df9
reset shared_ptr to master surface when clearing surfaces, to ensure Surface destructor is called
2015-10-03 13:50:59 -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
2cdfeda884
use Surface::reset() when deleting MackieControlProtocol, rather than sending lots of messages.
...
This may be a bit "strong" because on the MCU Pro (at least) it causes a fader recalibration.
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
71bf231199
allow aliasing Mackie Control buttons to other buttons
2015-10-02 10:21:20 -04:00
Paul Davis
5c63ed589c
catch changes in click status and alter LED appropriately
2015-10-02 07:32:56 -04:00
Paul Davis
a4fced6d63
change zoom and scrub handling to use modifier bits
2015-10-02 07:32:56 -04:00
Len Ovens
f8912b8b57
Made master fader touch and jog go to _master_surface instead of first surface.
2015-09-08 20:47:16 -07: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
Robin Gareus
40c04867ef
Bundle API user update
...
cherry-pickable follow up to 0582221
2015-03-08 22:39:34 +01:00
Paul Davis
d3e2de8b4e
modify Mackie surface code to use crossthreadchannel on all platforms
2014-12-03 20:57:58 -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
bfe49540b9
remove use of CrossThreadChannel::selectable() to allow cross-platform implementation of CrossThreadChannel via Glib::IOSource
2014-11-23 17:37:13 +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
3020b224fa
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
2014-01-10 16:07:57 -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
f6c9fa4d89
fix a crash caused by not checking if MackieControlProtocol::_surfaces_state exists
...
I forgot to add this check when i changed the member variable to a pointer.
2013-12-14 11:10:54 -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
69a8fc43e2
Merge branch 'master' into windows
2013-10-15 11:17:12 -04:00
Paul Davis
f6ba1d2271
fix signed/unsigned issue pointed out by old apple gcc
2013-10-15 10:58:46 -04:00
Paul Davis
bb826f4bee
incomplete merge of master into windows (requires upcoming changes to master to be complete)
2013-09-12 11:28:50 -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
John Emmas
f225eaa919
'surfaces/mackie' - Platform specific changes
2013-09-05 10:04:18 +01:00
Paul Davis
d074bc586e
Merge branch 'master' into audioengine
2013-09-03 17:41:49 -04:00
Paul Davis
41f6f5574b
fix confusion about whether flip_mode in the Mackie support code is a bool or an enum
2013-08-24 11:46:44 -04:00
Paul Davis
9ac6bb9bef
part-way through getting the audioengine changes to compile
2013-07-24 19:29:45 -04:00
Paul Davis
cd6cbba299
rename Route::is_hidden() to Route::is_auditioner() and Route::Hidden to Route::Auditioner. this has been the meaning of these terms for years now and it would be better to make it explicit
2013-04-06 16:04:02 -04:00
Paul Davis
8f091de64b
for MCP devices that don't handshake, turn them on as soon as we call ::connectivity_established() so that _active == true, and we will actually write to them
...
git-svn-id: svn://localhost/ardour2/branches/3.0@14165 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-03-06 20:15:28 +00:00
Paul Davis
99b94fad77
avoid crash when switching devices in mackie control code, add locks to protect surfaces list (hopefully done without adding any deadlocks - can't test this at present)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13750 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-31 16:04:46 +00:00
Paul Davis
104da317ff
avoid crashing in a wierd case (possibly a race) in Mackie support
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-31 15:27:38 +00:00
Carl Hetherington
d341088f13
Fix some uninitialised variable warnings.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12702 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 15:38:15 +00:00
Rodrigo Severo
1bd34a34f7
Small change to Timecode display (SMTPE) in the Mackie.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12694 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 03:09:46 +00:00