Commit graph

67 commits

Author SHA1 Message Date
Bruno Vernay
e3836e1162 Typo in code Paramater 2021-10-30 23:02:04 +02:00
Todd Naugle
45f9b45bff Mackie Control Surface: Improved support for iCON QCon Pro X
Support the second LCD on the Pro X and use it for channel strip labels.

Support the stereo master meters on the Pro X
2021-07-02 16:00:51 -05:00
Robin Gareus
b35a8f6626
Fix Wsign-compare, consistently use microseconds_t 2021-06-29 02:04:02 +02:00
Robin Gareus
b58dfc7f0f
Resolve microseconds_t ambiguity 1/2
This resolves a PBD vs ARDOUR namespace error for some compilers:
```
error: reference to 'microseconds_t' is ambiguous
libs/pbd/pbd/microseconds.h:29:19: error: candidates are: typedef uint64_t PBD::microseconds_t
libs/ardour/ardour/types.h:81:29: error:                  typedef PBD::microseconds_t ARDOUR::microseconds_t
```
2021-06-27 17:33:05 +02:00
Phil
69067b9d99 add plugin support for mackie units
Main features: Plugin (Select & Edit)

1.  Plugin Select: When a track is selected that has PluginInserts, pushing the "Plug-In" button on a mackie will list these across the strips. Clicking a vpot of a strip enables editing the parameters of this selected plugin.
2. Plugin Edit: When a Plugin is selected for editing, the input parameters of the plugin are shown across the channel strips and the vpot is assigned the corresponsing AutomationControl for the parameter.

Minor features

- When the number of plugins or the number of parameters exceeds the number of strips available on the surface, one can flip through "pages" of views using the Cursor Left and Right keys (this logic I took from http://www.emagic.de/media/support/content/manuals/LogicControl_en.pdf)
- When in the Plugin Select mode, rearranging the plugins in the mixer strip is reflected on the surface.
- When in Plugin Edit mode, rearranging the plugins in the mixer strip still retains the edit view of the selected plugin (rearranging does not take away the current subview)
 - When removing a plugin in the mixer strip, this is reflected in Plugin Select, while the view jumps to Pan/Surround (the None subview) when in Plugin Edit mode.
- Removing a track resets the subview to None
- When in a Subview that is track-specific (Track, EQ, Send, Plug-In, Inst), selecting a different track retains the subview but updates the channel displays and vpot assignments accordingly. When in Plugin Edit mode for track A, and track B is selected, it changes to Plugin Select mode for track B (if plugins are present).
2020-04-07 14:35:09 -06:00
Paul Davis
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
Robin Gareus
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
Robin Gareus
66a3dd7ded MCU: Remove use of AutomationType as ID, part two.
This may need some small tweaks for MB channelstrip to set
print-format (like LV2 plugins would) for cases where the default
value_as_string() differs.
2017-06-23 17:39:20 +02:00
Robin Gareus
5e5f7a55ee MCU: Remove use of AutomationType as ID, part one. 2017-06-23 17:39:20 +02:00
Ben Loftis
d3738b087e MCP: Fix issue with strip "select" buttons that stayed stuck on.
* Depending on individual strips to watch the selection property is prone to failure.
  * Stripable_selection_changed() is called when a selection operation is completed.
2017-05-17 15:55:43 -05:00
Paul Davis
3eaa6c0389 remove certain ControlProtocol signals related to stripable selection
includes change to Mackie support so that strips listen for PropertyChange
on the stripables they represent, no global selection change used anymore.
2016-06-10 13:57:18 -04:00
Paul Davis
0d9433aef6 remove no-effect handling of route active-status change in Mackie Control code 2016-05-31 15:30:43 -04:00
Paul Davis
c34ad3a723 convert Mackie Control Surface support to use Stripable, not Route 2016-05-31 15:30:42 -04:00
Paul Davis
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
Paul Davis
cf29447ec3 mackie: add Phase control (for first channel only) in Track View subview mode.
Also removed a couple of methods no longer used, since trim and phase are only
visible in TrackView mode.
2016-02-01 15:15:57 -05:00
Paul Davis
69b4228176 mackie: partially working trackview submode.
More controls/pots to come
2016-01-31 13:20:18 -05:00
Paul Davis
3631cc1532 mackie: remove Trim pot mode, and add skeleton for TrackView subview mode 2016-01-31 13:20:18 -05:00
Paul Davis
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
Paul Davis
66686a4e2a mackie: semi-working Sends subview mode 2016-01-27 14:15:41 -05:00
Paul Davis
a9a4cfb166 mackie: track compressor mode changes in display 2015-12-16 06:01:47 -05:00
Paul Davis
a6da818bc4 add dynamics support to mackie control 2015-12-16 06:01:29 -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
Ben Loftis
616e925322 tentative mcu panning for mixbus. hey, it compiles 2015-12-16 05:46:52 -05:00
Len Ovens
ace771bc91 Mackie Control: Add send functionality to vpot assign section. 2015-11-06 16:18:13 -08:00
Len Ovens
8ae23c6952 Fix Mackie surface phase control for flip and more than one audio channel. 2015-11-01 15:30:36 -08:00
Len Ovens
2e9de2def0 Added Phase control mackie controls as part of the Trim (track) vpot assignment. 2015-11-01 13:35:02 -08:00
Len Ovens
0185c9f25a Added Midi Tracks View mode. 2015-10-18 18:13:16 -07:00
Len Ovens
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
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
965b135842 numerous changes to Mackie support, generally offering better robustness 2015-10-10 17:14:30 -04:00
Paul Davis
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
Paul Davis
d3efef7f5c fix logic to reshow strip "name" after a message display 2015-10-08 14:58:28 -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
Paul Davis
4677d047a5 more mackie strip redisplay renames, and add a global block to redisplays\n 2015-10-08 12:51:18 -04:00
Paul Davis
0f978a90f4 subtle rework/rename of per-strip revert-to-vpot-display code 2015-10-08 12:50:05 -04:00
Len Ovens
6899bd7c15 Add Trim to Mackie controls. 2015-10-07 21:36:16 -07: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
ef6b0bdb07 necessary header changes for new redisplay code in MCP 2015-10-02 22:08:14 -04: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
29b3c299a1 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 13:22:52 -05:00
Julien de Kozak
27d77b8719 Fix some compilation warnings 2013-03-30 18:09:40 +01:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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