Commit Graph

190 Commits

Author SHA1 Message Date
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
85e12e8095 Mackie control: non-existent controls zero pot ring fix. 2015-12-19 11:50:13 -08:00
07e4377d7b NoOp: removed spaces, replaced with tabs. 2015-12-16 20:41:50 -08:00
82f31fe624 Mackie Control: Re-enable view_mode display and make sure all text vanishes after timeout. 2015-12-16 14:38:21 -08:00
bff1fcbe48 mackie: restore access to trim and pan width control
Change from Evoral::Parameter to AutomationType caused this glitch
2015-12-16 11:05:40 -05:00
3b872fb207 fix some merge issues from cherry-picking mackie changes from a mixbus repo 2015-12-16 06:31:06 -05:00
a9a4cfb166 mackie: track compressor mode changes in display 2015-12-16 06:01:47 -05:00
1152bf87a2 make vselect-press in subview mode act as a toggle for toggled controls 2015-12-16 06:01:38 -05:00
a6da818bc4 add dynamics support to mackie control 2015-12-16 06:01:29 -05:00
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
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
a1ef99b9b7 add beginnings of EQ and dynamics control to mackie for mixbus 2015-12-16 05:52:36 -05:00
616e925322 tentative mcu panning for mixbus. hey, it compiles 2015-12-16 05:46:52 -05:00
548989fc75 Fix MCP send display value scaling. 2015-12-08 22:45:59 -08:00
fcf20ee91a Set vpot to the same range as the fader. Fixes trim from -16 to -20. 2015-12-08 19:30:57 -08:00
bbdd25205d MCU: fix likely copypaste thinko in mcu panner knobs 2015-12-07 17:31:45 -06:00
fb96170178 Fix fader in mackie control to work with groups. 2015-11-14 10:39:53 -08:00
ace771bc91 Mackie Control: Add send functionality to vpot assign section. 2015-11-06 16:18:13 -08:00
84d44eb5a3 Don't handle possible phase change if no audio channels in mackie control 2015-11-01 19:25:45 -08:00
8ae23c6952 Fix Mackie surface phase control for flip and more than one audio channel. 2015-11-01 15:30:36 -08:00
2e9de2def0 Added Phase control mackie controls as part of the Trim (track) vpot assignment. 2015-11-01 13:35:02 -08:00
7c24957d30 Changed MCP trim detection to match method used in GUI. 2015-10-25 08:22:02 -07:00
f7e3117c3b Only display Trim for tracks that have Trim. On the way:
-fixed flip mode.
	-fixed no controlable for vpot or fader
2015-10-18 07:38:40 -07:00
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
79113144ef Correct wrong value on LCD strip when fader is touched (fixs #6619 from Petr Vejsada) 2015-10-11 23:24:14 -07:00
7535947eb1 Display parameter that matches mode. 2015-10-10 19:40:28 -07:00
965b135842 numerous changes to Mackie support, generally offering better robustness 2015-10-10 17:14:30 -04:00
6acd51d48e NOOP: whitespace/indent fix 2015-10-09 11:11:36 -04:00
03018aeefb add TrimAutomation to list of possible pot parameters for routes 2015-10-09 11:11:15 -04:00
d700576171 remove unused and useless stuff relating to bundles inside Mackie::Strip
What was someone (Paul? John ?) thinking?
2015-10-09 11:10:44 -04:00
9c7139e505 set up control_by_parameter map in a Mackie::Strip so that subsequent array-syntax lookup does not crash 2015-10-09 11:09:47 -04:00
d3efef7f5c fix logic to reshow strip "name" after a message display 2015-10-08 14:58:28 -04:00
49be513bfa fix rebase conflicts left over after pull 2015-10-08 13:40:00 -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
4677d047a5 more mackie strip redisplay renames, and add a global block to redisplays\n 2015-10-08 12:51:18 -04:00
0f978a90f4 subtle rework/rename of per-strip revert-to-vpot-display code 2015-10-08 12:50:05 -04:00
6899bd7c15 Add Trim to Mackie controls. 2015-10-07 21:36:16 -07: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
9476657cd1 use ::main_modifier_state() in some more places 2015-10-02 22:08:14 -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
239da0efb5 Fix Mackie control metering (fixes #6608). 2015-09-28 20:13:15 -07:00
fb649f43ea fix for MCP panner width - closes #6341 2015-05-24 17:56:40 +02:00
ce259edbcd professionalize peak-meters
The peak meter needs to withstand various test-signals
without visual jitter (in particular 1kHz sine) regardless
of settings (period-size, sample-rate, custom fall-off).

This needs to be done in sync (and not by a random non-rt
‘smoothing’ thread).

On the downside this voids the ‘visual smoothing’ particularly 
with large buffersizes - but then again exactly this “always 
fall-off no matter what [the next real data will be]” is the
problem.

One the upside, there’s one less high-frequency (100Hz) thread
(Yay!) PS. it probably never worked on windows, anyway.

Only peak-meters are affected by his change.
K-meters, IEC I/II and VU were never visually smoothed.
2015-05-02 03:46:49 +02:00
4512d013eb put all of the Mackie control surface code into the ArdourSurface namespace 2015-04-15 20:37:20 -04:00
0fdb846625 try alternate Glib:: API for conversion from UTF-8 to ascii in Mackie support code 2014-12-15 15:06:10 -05:00
e3f376107e nominal fix for sending UTF-8 text to Mackie surface 2014-12-15 14:44:05 -05:00
912f07b919 mingw build fixes (tested with i686-w64-mingw32 on linux-x86_64) 2014-03-04 15:25:58 +01:00
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
35c170937d NOOP, semantic update, don't pannable's panner for direct access. 2014-01-15 02:51:53 +01:00
9261d5908d fix error introduced during recent changes to Mackie control support, involving ambiguous enum usage 2013-09-03 08:48:11 -04:00
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
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
Carl Hetherington
daffec502e Return silence from read_from_sources() if we try to read a channel that our source does not have (if replicate-missing-region-channels is turned off); should fix #4934.
git-svn-id: svn://localhost/ardour2/branches/3.0@12741 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16 18:18:30 +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
7d252412c3 add support for <HasMeters value=XX/> stanza in MCP device info file
git-svn-id: svn://localhost/ardour2/branches/3.0@12440 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 19:27:29 +00:00
ccfeb90bdc MCP: pay attention to listen changes as well as solo changes, and reflect listen state with solo button, just like solo
git-svn-id: svn://localhost/ardour2/branches/3.0@12385 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-22 21:38:03 +00:00
8c73a62ee0 split apart mackie meter messages when we have to send two, one to turn on/off the overload indicator and one to set the level. this avoids MIDI bridge issues with non-canonical MIDI messages
git-svn-id: svn://localhost/ardour2/branches/3.0@12367 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-21 19:02:44 +00:00
4235e9a1a2 a variety of mostly unused parameter errors from OS X Lion's compiler
git-svn-id: svn://localhost/ardour2/branches/3.0@12148 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02 20:29:46 +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
cafbc632fb MCP: more sensible version of previous commit, and better behaviour for play button after ffwd or rewind
git-svn-id: svn://localhost/ardour2/branches/3.0@12101 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 21:57:47 +00:00
ab8ebe97bb MCP: fix handling of vpot presses
git-svn-id: svn://localhost/ardour2/branches/3.0@12100 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 21:22:36 +00:00
834f94c60a fix initialization of control protocols so that brand new sessions get working control protocols if the user's ardour.rc file indicates to do so; fix MCP bank scrolling
git-svn-id: svn://localhost/ardour2/branches/3.0@12096 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 16:18:03 +00:00
ec97b8e58d MCP: lots of good stuff - recenable bug fixed, cursor keys for vertical scroll work, loop button lights/unlightspan pots don't adjust if there is no panner, etc.
git-svn-id: svn://localhost/ardour2/branches/3.0@12093 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 03:46:18 +00:00
b31400207e MCP: various fixes, plus removal of ui_bind() (just for mackie code)
git-svn-id: svn://localhost/ardour2/branches/3.0@12086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 04:42:01 +00:00
0c026a6dc5 MCP: remove debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@12073 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 03:18:16 +00:00
954b022e19 MCP: remove debugging related to selection that turned out to be about some JACK/IP MIDI layer
git-svn-id: svn://localhost/ardour2/branches/3.0@12071 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 02:41:07 +00:00
4bfdcc18bd ControlProtocol doesn't actually need any record of an event loop and doesn't need to connect to any signals itself
git-svn-id: svn://localhost/ardour2/branches/3.0@12063 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-23 10:54:34 +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
Carl Hetherington
9befa88deb Fix some warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@12048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-20 23:34:15 +00:00
c7c9c1bd26 MCP: next try at vpot mode for pan width
git-svn-id: svn://localhost/ardour2/branches/3.0@12013 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 17:34:31 +00:00
e9dcd14bb4 MCP: bettetr vpot mode for pan width
git-svn-id: svn://localhost/ardour2/branches/3.0@12012 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 17:05:13 +00:00
028727e85c MCP: space for %
git-svn-id: svn://localhost/ardour2/branches/3.0@12011 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 17:03:21 +00:00
3cc358bc87 MCP: missing break
git-svn-id: svn://localhost/ardour2/branches/3.0@12010 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 17:01:02 +00:00
e06620280b MCP: maybe fix vpot display behavior for pan width
git-svn-id: svn://localhost/ardour2/branches/3.0@12009 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 16:52:38 +00:00
adbfd1b262 MCP: maybe fix vpot behaviour as seen with pan width
git-svn-id: svn://localhost/ardour2/branches/3.0@12008 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 16:26:43 +00:00
7a2c0b9d9a MCP: maybe really fix fader dB display
git-svn-id: svn://localhost/ardour2/branches/3.0@12006 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 14:48:37 +00:00
3620530e62 MCP: maybe fix fader dB display
git-svn-id: svn://localhost/ardour2/branches/3.0@12005 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 14:24:00 +00:00
b253f464a5 MCP: more fader debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@12004 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-18 13:36:26 +00:00
b9ff443085 MCP: various work on the button binding GUI
git-svn-id: svn://localhost/ardour2/branches/3.0@11997 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-17 20:41:31 +00:00
0078582a5f MCP: work on rec-enable
git-svn-id: svn://localhost/ardour2/branches/3.0@11993 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 22:33:09 +00:00
b5276aa4ab MCP: work on vpots
git-svn-id: svn://localhost/ardour2/branches/3.0@11992 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 22:30:38 +00:00
e3d353715a MCP: bit more debugging for vpot press
git-svn-id: svn://localhost/ardour2/branches/3.0@11991 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 21:01:59 +00:00
4da123458e MCP: no fake touch for vpot
git-svn-id: svn://localhost/ardour2/branches/3.0@11988 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 19:07:37 +00:00
72d17d326e MCP: a fistful of changes
git-svn-id: svn://localhost/ardour2/branches/3.0@11987 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 19:05:27 +00:00
02c498a8fa MCP: make v-pot press work; work ongoing on general keybindings
git-svn-id: svn://localhost/ardour2/branches/3.0@11985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 13:06:39 +00:00
bef36b6f65 cmd-press on vpot should lock strip; shift-press resets pot param to default
git-svn-id: svn://localhost/ardour2/branches/3.0@11980 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-15 15:43:25 +00:00
97c2832d35 MCP: probably fix issues with vpots not working
git-svn-id: svn://localhost/ardour2/branches/3.0@11979 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-15 14:30:03 +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
32766ce215 MCP: hack test for ssl nucleus fader touch
git-svn-id: svn://localhost/ardour2/branches/3.0@11970 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-14 11:39:25 +00:00
e240fb16bd MCP: hack for Nucleus fader touch messages
git-svn-id: svn://localhost/ardour2/branches/3.0@11968 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 22:49:58 +00:00
69830c477e MCP: catch noteOff to see note-on+velocity=zero messages; more GUI tweaks
git-svn-id: svn://localhost/ardour2/branches/3.0@11966 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 21:46:26 +00:00
565be46ea1 MCP: more of the same
git-svn-id: svn://localhost/ardour2/branches/3.0@11965 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 20:39:59 +00:00
ae09d046c1 MCP: better display of parameter values, off by one error when collecting controls for buttons, more GUI
git-svn-id: svn://localhost/ardour2/branches/3.0@11964 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 20:27:08 +00:00
411e2536c2 MCP: more button tracing, more config stuff
git-svn-id: svn://localhost/ardour2/branches/3.0@11962 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 17:58:36 +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