Commit graph

215 commits

Author SHA1 Message Date
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
Rodrigo Severo
335bf3d21e Prevents a master fader being created without a control at Surface::setup_master_fader;
Several DEBUG_TRACE changes to help identify race conditions;

git-svn-id: svn://localhost/ardour2/branches/3.0@12693 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 03:07:50 +00:00