c34ad3a723
convert Mackie Control Surface support to use Stripable, not Route
2016-05-31 15:30:42 -04:00
36b11098a2
mackie: substantial reworking of flip mode with large chunks of code no longer used.
...
Flip mode only works in Sends subview mode.
Display is incorrect when flipped - vpot is still updated by send level changes. TO BE FIXED.
2016-02-01 22:52:22 -05:00
0a2377e9b4
mackie: redesign display logic entirely
...
Strips now maintain a pair of pending display strings (upper and lower).
A periodic timeout writes the pending value to the actual hardware if it
differs from the current string. This new design makes it easy to put a
message on the display and then after some period of time, revert to
whatever was there before.
2016-01-29 12:27:46 -05:00
ea895efb97
mackie: improvements to display when switching subview modes
2016-01-28 15:08:26 -05:00
81179389d3
mackie: cleanup subview mode a little
2015-12-16 05:55:10 -05:00
8ba8f1c0b0
fix cherry-pick conflict
2015-12-16 05:54:43 -05:00
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
965b135842
numerous changes to Mackie support, generally offering better robustness
2015-10-10 17:14:30 -04:00
9b5a071c33
varied and wide changes to get input and output combos closer to working
2015-10-09 14:01:22 -04:00
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
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
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
4a1790b75e
remove unused per-surface button timer
2015-10-08 12:50:05 -04:00
6899bd7c15
Add Trim to Mackie controls.
2015-10-07 21:36:16 -07:00
c9658134ce
add button time and explicit bank switching to MCP support
2015-10-07 15:13:03 -04:00
ce9b271a92
track Mackie MIDI port connection status as primary trigger for handshake with device
2015-10-07 13:17:49 -04:00
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
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
6bf0d4f627
add basic support for HUI heartbeat, only used for HUI devices
2015-10-03 13:13:58 -04:00
3733fd7f31
remove undefined and unused method declaration
2015-10-02 22:08:15 -04:00
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
ccf505c3a2
implement backlight, fader touch sensitivity and recalibrate fader functions for MCP GUI
2015-10-02 22:08:14 -04:00
4512d013eb
put all of the Mackie control surface code into the ArdourSurface namespace
2015-04-15 20:37:20 -04:00
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
a17bafa964
remove some unused code from mackie support
2013-12-13 16:04:34 -05:00
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
71427323ec
MCP: latest patch from Rodrigo:
...
* fixes Master Fader Touch button in the Mackie;
* implements a MasterFaderTouch global button;
* removes unused MackieControlProtocol::_transport_previously_rolling property;
* implements DeviceInfo::get_global_button() method;
* creates GlobalButtonsInfo and StripButtonsInfo types in DeviceInfo;
* implements Surface::_last_master_gain_written property to help master fader feedback;
* makes Surface respect _mcp.device_info().strip_cnt() to create master fader and when connecting signals for strips and master fader instead of using hardcoded 8;
* removed a few unnecessary updates in Surface::turn_it_on();
* included master_gain_changed() in Surface::periodic();
* implemented MackieControlProtocol::master_fader_touch_press and
* MackieControlProtocol::master_fader_touch_release;
git-svn-id: svn://localhost/ardour2/branches/3.0@12631 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 19:06:52 +00:00
ba5e71b50f
MCP: Patch from Rodrigo that:
...
* implements Metering on/off through Button::Read as per Seablade's suggestion. I choose this button as it's the "Show meters" button in Traktion;
* removes redundant code from Meter::update_transport_rolling();
* renames Meter::update_transport_rolling() to Meter::notify_metering_state_changed();
* renamed Surface::notify_transport_state_changed() to Surface::notify_metering_state_changed();
* renamed Strip::notify_transport_state_changed() to Strip::notify_metering_state_changed();
* created MackieControlProtocol::notify_metering_state_changed() and made MackieControlProtocol::notify_transport_state_changed() use it;
* implemented turning off of timecode display and two char display in Surface::zero_all ();
* implemented master fader zeroing in Surface::zero_all ();
* calling Surfaces->zero_all() at MackieControlProtocol destructor;
* implemented restore of 2nd LCD line content after metering being active.
git-svn-id: svn://localhost/ardour2/branches/3.0@12520 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-01 12:56:20 +00:00
28e3bc3ac7
MCP: metering changes from rodrigo, makes metering work correctly on the MC Pro (also checked on the nucleus)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12489 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-30 14:32:27 +00:00
1d5bade8a1
patch from rodrigo severo to make mackie timecode display work
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12480 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 20:18:43 +00:00
4d780bdcd0
provide some support for mackie devices like Steinberg's CMCs that do not do the normal Mackie spec handshaking
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12252 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-11 16:04:09 +00:00
edad92a944
control surfaces: make it possible to keep display of current GUI/selection state as we bank through tracks/bussses. note careful use of weak_ptr<Route> to avoid messing with Route lifetimes. this scheme may change
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12115 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-28 01:43:38 +00:00
3b7e2f7d67
MCP: properly (?) handle bank/channel scrolling with locked strips
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12095 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 14:28:41 +00:00
ac1b2a6647
MCP: another bevy of changes, including working jog wheel
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12056 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 17:37:52 +00:00
82c867bf2a
MCP: a fistful of improvements. probably best to just try it and see what it broken. KNOWN: pressing vpots without a bank/channel shift will crash ardour
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12053 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 02:15:24 +00:00
24377e9fb2
MCP: the return of the master fader
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11973 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-14 20:38:42 +00:00
2ed2b61224
MCP: redesign to allow device-specific button IDs, since we know that at least one device (nucleus) does not honor mackie's specification document
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11972 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-14 19:02:54 +00:00
8f7fa7d93b
MCP: timeout display of value when altering with fader or pot; range ops on strip buttons should work; select logic may be broken
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 16:11:55 +00:00
17b442971b
MCP: more surface properties, correctly close IOSources when switching surfaces; write select button msgs one by one, change port name back to generic terms
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11945 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-12 17:52:57 +00:00
0c4fe26b41
MCP: switch devices on the fly; name MIDI ports appropriately; fix active state; move sysex parsing into Surface
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11942 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-12 16:41:07 +00:00
62620122a9
propagate GUI track selection to control protocols; make MCP update when GUI track selection changes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11941 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-12 14:34:03 +00:00
5b34da2f96
MCP: check on whether we using pan width control; flip mode may change display
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11931 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-12 00:52:02 +00:00
1ce39cfb25
MCP: more view mode stuff
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11913 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 19:27:13 +00:00
5097af6a13
MCP: start adding different view modes and support for Flip
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11911 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 18:51:01 +00:00
8c9f9e746b
MCP: further objectification of event handling code
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11896 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 13:39:25 +00:00
02c8ccf348
move all code to construct MIDI messages into relevant Control/Strip/Surface object; remove MackieMidiBuilder
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11895 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 13:03:41 +00:00
43a6662357
MCP: actually map routes to strips, more debug tracing
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11865 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-10 15:13:37 +00:00
5ace191bff
drastic, fundamental redesign of MCP code
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11861 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-10 14:27:44 +00:00
2b659deaef
remove redundant MackieButtonHandler class, implement initial zoom support for cursor left + right buttons
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11847 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-09 15:32:25 +00:00
f02edae438
start breaking apart the various controls into their own headers and source code, and making each control know how to generate MIDI; throttle delivery of meter data and get meter ID right
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11846 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-09 13:59:35 +00:00