Commit graph

247 commits

Author SHA1 Message Date
Nicolas Koch
b59b977a59 MCP - Always show gain on VCAs rather than Pan 2025-11-27 22:00:56 -05:00
Franke Burgarino
833d4142b1 MCU: add iCON V1-M support 2025-10-02 17:10:07 -05:00
Franke Burgarino
c4cececfb7 MCU: fix monitor/immersive mute button
Monitor/Immersive mute on mackie controllers previously was not toggling
the actual monitor cut control that is tied to the GUI button.
2025-09-24 11:29:27 -05:00
Franke Burgarino
2ecd265daa MCU: clear pot LEDs when pot is empty 2025-08-26 17:37:25 -05:00
Franke Burgarino
9bc35232b3 MCU: update pot LEDs when switching to the track/pan subview 2025-08-25 15:06:02 -05:00
Franke Burgarino
fd13fdb1bf MCU: fix pan values for mixbus 2025-08-21 16:57:42 -05:00
Franke Burgarino
588fbee13b MCU: move creation of dynamics subview 'available' parameters list to seperate function
'available' was being created and deleted every time setup_vpot was
called. now it is only created when making the subview or switching the
dynamics type
2025-08-12 11:11:05 -05:00
Franke Burgarino
900706320c MCU: change 'Strip::notify_eq_type_changed()' to 'Strip::notify_subview_type_changed()' since it applies to dynamics as well 2025-08-08 16:57:49 -05:00
Franke Burgarino
dfa12dedcd MCU: make dynamics subview show actual values 2025-08-07 16:04:40 -05:00
Franke Burgarino
7df7f98566 MCU: fix formatting 2025-08-06 17:26:49 -05:00
Franke Burgarino
157031ae71 MCU: make EQ subview show actual values, not just decimal between 0 and 1 2025-08-06 16:09:34 -05:00
Franke Burgarino
0fc28d3872
MCU: update controls when EQ type changes 2025-07-29 23:11:20 +02:00
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Robin Gareus
73fea85381
Vapor: set surround-send level range to +/-20 dB 2024-03-21 14:23:43 +01:00
Ben Loftis
ec365820d8
MCU/UF8: reuse and special-case Mackie ctrl surface for SSL-UF8
This adds a unique namespace to the MCU source code, so it can be
compiled multiple times resulting in different ctrl surfaces.
2023-08-24 19:19:10 +02:00
Paul Davis
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
David Robillard
bdacfb8724 Fix invalid use of Doxygen "@param" command
This is never for inline references to parameters, only for starting parameter
documentation blocks.  The "@p" command is for this, although unfortunately
Doxygen doesn't actually do anything with it and it's just an alias for code
text.
2022-10-30 20:44:28 -04:00
Robin Gareus
2939ed3164
Add dedicated InsertReturnLevel type
This is preparation for PortInsert Send and Return
level control.
2022-10-14 02:21:49 +02:00
Robin Gareus
1f65c66727
MCU: fix mixer-strip buttons (see also 0d9656ef82) 2022-07-15 23:46:28 +02:00
Ben Loftis
c6566f3933 mackie protocol: add more null checks; remove some debug msgs 2022-06-30 16:47:17 -05:00
Ben Loftis
198df78cfe mackie debugging: ugly printouts 2022-06-30 14:04:51 -05:00
Ben Loftis
66bd195030 mackie protocol: potential crash-fix 2022-06-30 11:30:07 -05:00
Paul Davis
0d9656ef82 use new macros to cleanup #ifndef NDEBUG as much as possible (libs edition) 2022-06-22 13:31:08 -06:00
Paul Davis
4878c48386 fix optimized unused variable warning 2022-06-22 13:31:08 -06:00
Marijn Kruisselbrink
0e799357a8 Fix crash in mackie strip code.
Strip::notify_property_changed accesses _stripable without verifying
that is not null. However it is possible for this to be null, so
add a null check.
2021-12-13 21:03:38 -07:00
Todd Naugle
d60a5187bd Mackie Control: Fix detection of QCon Extenders so 2nd LCD is correct
Logic to detect an extender has to be based on if this surface object is
the master position. Has master fader is true for all surfaces in this
"device".
2021-12-13 21:25:07 -06:00
Bruno Vernay
e3836e1162 Typo in code Paramater 2021-10-30 23:02:04 +02:00
Paul Davis
086e48796c surfaces: first round of conversion to use timeline types 2021-08-13 12:51:29 -06: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
Todd Naugle
e94239cc92 Mackie Control Surface: Update the meters even when the transport is stopped 2021-07-02 15:53:20 -05:00
Todd Naugle
41ac0cb753 Mackie Control Surface: Correctly handle the Monitor section being removed.
Adding a Monitor section updated the surface but removing one did not.
2021-07-02 15:51:53 -05: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
Paul Davis
9cbaa31c7e libs fix for get_microseconds() move to libpbd 2021-06-26 18:27:39 -06:00
Paul Davis
0fc50b9bf2 Mackie Control: set select state correctly during initial setup 2021-05-11 15:55:04 -06:00
Paul Davis
3f30a0ad39 more code rearrangement ... old gcc/mingw does not allow Enum::Value 2020-04-07 18:32:45 -06:00
Paul Davis
595be0e5e9 try some rearrangement to fix old mingw builds 2020-04-07 18:15:51 -06:00
Paul Davis
e345f38c7b fix missing #include 2020-04-07 17:22:55 -06: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
Robin Gareus
bf894d80fb
NO-OP: remove unused #includes 2020-03-21 19:46:38 +01:00
Ben Loftis
ef5fddd8b5 MCU: fix pan_azimuth direction by setting Rotary flag. 2020-02-20 12:25:51 -06:00
Robin Gareus
d4e023e1cb
Make BusSendLevel 1st class citizen (1/2)
Equivalent to Gain and Trim (gain-coefficient, not dB) and use
it for Sends.
2019-12-14 15:06:23 +01:00
Robin Gareus
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
Paul Davis
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Paul Davis
03e99e9866 fix longstanding compiler warning 2017-09-18 11:40:53 -04:00
Robin Gareus
fde0e293a3 Remove unused "mark" parameter from stop_touch() API 2017-07-24 01:59:18 +02:00
Robin Gareus
1138b62fb8 amend 5e5f7a55; re-add wrongly removed variable 2017-06-23 18:15:50 +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
Ben Loftis
60cc2823f3 MCP: map the well-known EQ knobs more explicitly, not heuristically. 2017-05-17 15:53:14 -05:00