summaryrefslogtreecommitdiff
path: root/libs/surfaces/mackie/strip.h
diff options
context:
space:
mode:
authorPhil <philsuess@yahoo.com>2020-03-27 08:46:45 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2020-04-07 14:35:09 -0600
commit69067b9d99c3e15f66723da77dcfc19c5a65519f (patch)
treec75ea0ce0581ef2b69935579fc39b0cac16ace5b /libs/surfaces/mackie/strip.h
parentff41232d1663d4d6b8385e912d03fa270b110d69 (diff)
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).
Diffstat (limited to 'libs/surfaces/mackie/strip.h')
-rw-r--r--libs/surfaces/mackie/strip.h21
1 files changed, 6 insertions, 15 deletions
diff --git a/libs/surfaces/mackie/strip.h b/libs/surfaces/mackie/strip.h
index e1dc344b6c..377999ba0f 100644
--- a/libs/surfaces/mackie/strip.h
+++ b/libs/surfaces/mackie/strip.h
@@ -93,6 +93,12 @@ public:
MidiByteArray display (uint32_t line_number, const std::string&);
MidiByteArray blank_display (uint32_t line_number);
+
+ static std::string format_paramater_for_display(
+ ARDOUR::ParameterDescriptor const& desc,
+ float val,
+ boost::shared_ptr<ARDOUR::Stripable> stripable_for_non_mixbus_azimuth_automation,
+ bool& overwrite_screen_hold);
void zero ();
@@ -136,9 +142,6 @@ private:
uint64_t return_to_vpot_mode_display_at;
boost::shared_ptr<ARDOUR::Stripable> _stripable;
PBD::ScopedConnectionList stripable_connections;
- PBD::ScopedConnectionList subview_connections;
- PBD::ScopedConnectionList send_connections;
- int eq_band;
ARDOUR::AutomationType _pan_mode;
@@ -178,18 +181,6 @@ private:
void reset_saved_values ();
bool is_midi_track () const;
-
- void notify_eq_change (boost::weak_ptr<ARDOUR::AutomationControl>, bool force);
- void setup_eq_vpot (boost::shared_ptr<ARDOUR::Stripable>);
-
- void notify_dyn_change (boost::weak_ptr<ARDOUR::AutomationControl>, bool force, bool propagate_mode_change);
- void setup_dyn_vpot (boost::shared_ptr<ARDOUR::Stripable>);
-
- void notify_send_level_change (uint32_t band, bool force);
- void setup_sends_vpot (boost::shared_ptr<ARDOUR::Stripable>);
-
- void notify_trackview_change (ARDOUR::AutomationType, uint32_t band, bool force);
- void setup_trackview_vpot (boost::shared_ptr<ARDOUR::Stripable>);
};
}