summaryrefslogtreecommitdiff
path: root/libs/surfaces
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-04-07 18:32:45 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2020-04-07 18:32:45 -0600
commit3f30a0ad39bd5e64df9ca01ffd4cd5a5f6b33356 (patch)
treedfa1779dc7babeae67a1bc2dda19749777697003 /libs/surfaces
parent595be0e5e91a25d875c1cbba3d6e5c2cda9f3c6a (diff)
more code rearrangement ... old gcc/mingw does not allow Enum::Value
Diffstat (limited to 'libs/surfaces')
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.cc14
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.h2
-rw-r--r--libs/surfaces/mackie/mcp_buttons.cc22
-rw-r--r--libs/surfaces/mackie/strip.cc30
-rw-r--r--libs/surfaces/mackie/subview.cc28
-rw-r--r--libs/surfaces/mackie/subview.h66
-rw-r--r--libs/surfaces/mackie/subview_modes.h39
7 files changed, 82 insertions, 119 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc
index 4e71100e5b..1d90b66c73 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.cc
+++ b/libs/surfaces/mackie/mackie_control_protocol.cc
@@ -141,7 +141,7 @@ MackieControlProtocol::MackieControlProtocol (Session& session)
{
DEBUG_TRACE (DEBUG::MackieControl, "MackieControlProtocol::MackieControlProtocol\n");
- _subview = Mackie::SubviewFactory::instance()->create_subview(SubViewMode::None, *this, boost::shared_ptr<Stripable>());
+ _subview = Mackie::SubviewFactory::instance()->create_subview(Subview::None, *this, boost::shared_ptr<Stripable>());
DeviceInfo::reload_device_info ();
DeviceProfile::reload_device_profiles ();
@@ -661,7 +661,7 @@ MackieControlProtocol::device_ready ()
{
DEBUG_TRACE (DEBUG::MackieControl, string_compose ("device ready init (active=%1)\n", active()));
update_surfaces ();
- set_subview_mode (Mackie::SubViewMode::None, boost::shared_ptr<Stripable>());
+ set_subview_mode (Mackie::Subview::None, boost::shared_ptr<Stripable>());
set_flip_mode (Normal);
}
@@ -1723,7 +1723,7 @@ MackieControlProtocol::redisplay_subview_mode ()
}
bool
-MackieControlProtocol::set_subview_mode (SubViewMode sm, boost::shared_ptr<Stripable> r)
+MackieControlProtocol::set_subview_mode (Subview::Mode sm, boost::shared_ptr<Stripable> r)
{
DEBUG_TRACE (DEBUG::MackieControl, string_compose ("set subview mode %1 with stripable %2, current flip mode %3\n", sm, (r ? r->name() : string ("null")), _flip_mode));
@@ -1743,7 +1743,7 @@ MackieControlProtocol::set_subview_mode (SubViewMode sm, boost::shared_ptr<Strip
if (!surfaces.empty()) {
if (!reason_why_subview_not_possible.empty()) {
surfaces.front()->display_message_for (reason_why_subview_not_possible, 1000);
- if (_subview->subview_mode() != Mackie::SubViewMode::None) {
+ if (_subview->subview_mode() != Mackie::Subview::None) {
/* redisplay current subview mode after
that message goes away.
*/
@@ -1790,7 +1790,7 @@ MackieControlProtocol::set_view_mode (ViewMode m)
/* leave subview mode, whatever it was */
DEBUG_TRACE (DEBUG::MackieControl, "\t\t\tsubview mode reset in MackieControlProtocol::set_view_mode \n");
- set_subview_mode (Mackie::SubViewMode::None, boost::shared_ptr<Stripable>());
+ set_subview_mode (Mackie::Subview::None, boost::shared_ptr<Stripable>());
display_view_mode ();
}
@@ -2346,12 +2346,12 @@ MackieControlProtocol::stripable_selection_changed ()
*/
if (!set_subview_mode (_subview->subview_mode(), s)) {
- set_subview_mode (Mackie::SubViewMode::None, boost::shared_ptr<Stripable>());
+ set_subview_mode (Mackie::Subview::None, boost::shared_ptr<Stripable>());
}
}
else {
// none selected or not on surface
- set_subview_mode(Mackie::SubViewMode::None, boost::shared_ptr<Stripable>());
+ set_subview_mode(Mackie::Subview::None, boost::shared_ptr<Stripable>());
}
}
diff --git a/libs/surfaces/mackie/mackie_control_protocol.h b/libs/surfaces/mackie/mackie_control_protocol.h
index 4a23e770a0..aceea338fb 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.h
+++ b/libs/surfaces/mackie/mackie_control_protocol.h
@@ -142,7 +142,7 @@ class MackieControlProtocol
void set_automation_state (ARDOUR::AutoState);
void set_view_mode (ViewMode);
- bool set_subview_mode (Mackie::SubViewMode, boost::shared_ptr<ARDOUR::Stripable>);
+ bool set_subview_mode (Mackie::Subview::Mode, boost::shared_ptr<ARDOUR::Stripable>);
bool redisplay_subview_mode ();
void set_flip_mode (FlipMode);
void display_view_mode ();
diff --git a/libs/surfaces/mackie/mcp_buttons.cc b/libs/surfaces/mackie/mcp_buttons.cc
index b5244b9df3..aea864cd0a 100644
--- a/libs/surfaces/mackie/mcp_buttons.cc
+++ b/libs/surfaces/mackie/mcp_buttons.cc
@@ -102,7 +102,7 @@ MackieControlProtocol::cmd_alt_release (Button &)
LedState
MackieControlProtocol::left_press (Button &)
{
- if (_subview->subview_mode() != Mackie::SubViewMode::None) {
+ if (_subview->subview_mode() != Mackie::Subview::None) {
return none;
}
@@ -130,7 +130,7 @@ MackieControlProtocol::left_release (Button &)
LedState
MackieControlProtocol::right_press (Button &)
{
- if (_subview->subview_mode() != Mackie::SubViewMode::None) {
+ if (_subview->subview_mode() != Mackie::Subview::None) {
return none;
}
@@ -288,7 +288,7 @@ MackieControlProtocol::channel_left_press (Button &)
return on;
}
- if (_subview->subview_mode() != Mackie::SubViewMode::None) {
+ if (_subview->subview_mode() != Mackie::Subview::None) {
return none;
}
Sorted sorted = get_sorted_stripables();
@@ -314,7 +314,7 @@ MackieControlProtocol::channel_right_press (Button &)
return on;
}
- if (_subview->subview_mode() != Mackie::SubViewMode::None) {
+ if (_subview->subview_mode() != Mackie::Subview::None) {
return none;
}
Sorted sorted = get_sorted_stripables();
@@ -628,7 +628,7 @@ MackieControlProtocol::enter_release (Button &)
LedState
MackieControlProtocol::bank_release (Button& b, uint32_t basic_bank_num)
{
- if (_subview->subview_mode() != Mackie::SubViewMode::None) {
+ if (_subview->subview_mode() != Mackie::Subview::None) {
return none;
}
@@ -733,7 +733,7 @@ LedState
MackieControlProtocol::pan_press (Button &)
{
/* XXX eventually pan may have its own subview mode */
- set_subview_mode (Mackie::SubViewMode::None, boost::shared_ptr<Stripable>());
+ set_subview_mode (Mackie::Subview::None, boost::shared_ptr<Stripable>());
return none;
}
LedState
@@ -744,7 +744,7 @@ MackieControlProtocol::pan_release (Button &)
LedState
MackieControlProtocol::plugin_press (Button &)
{
- set_subview_mode (SubViewMode::Plugin, first_selected_stripable());
+ set_subview_mode (Subview::Plugin, first_selected_stripable());
return none;
}
LedState
@@ -757,7 +757,7 @@ MackieControlProtocol::plugin_release (Button &)
LedState
MackieControlProtocol::eq_press (Button &)
{
- set_subview_mode (EQ, first_selected_stripable ());
+ set_subview_mode (Subview::EQ, first_selected_stripable ());
return none; /* led state handled by set_subview_mode() */
}
@@ -769,7 +769,7 @@ MackieControlProtocol::eq_release (Button &)
LedState
MackieControlProtocol::dyn_press (Button &)
{
- set_subview_mode (Dynamics, first_selected_stripable ());
+ set_subview_mode (Subview::Dynamics, first_selected_stripable ());
return none; /* led state handled by set_subview_mode() */
}
@@ -932,7 +932,7 @@ MackieControlProtocol::clearsolo_release (Mackie::Button&)
Mackie::LedState
MackieControlProtocol::track_press (Mackie::Button&)
{
- set_subview_mode (TrackView, first_selected_stripable());
+ set_subview_mode (Subview::TrackView, first_selected_stripable());
return none;
}
Mackie::LedState
@@ -943,7 +943,7 @@ MackieControlProtocol::track_release (Mackie::Button&)
Mackie::LedState
MackieControlProtocol::send_press (Mackie::Button&)
{
- set_subview_mode (Sends, first_selected_stripable());
+ set_subview_mode (Subview::Sends, first_selected_stripable());
return none; /* led state handled by set_subview_mode() */
}
Mackie::LedState
diff --git a/libs/surfaces/mackie/strip.cc b/libs/surfaces/mackie/strip.cc
index d126ebe22a..e8efc3a662 100644
--- a/libs/surfaces/mackie/strip.cc
+++ b/libs/surfaces/mackie/strip.cc
@@ -255,7 +255,7 @@ Strip::set_stripable (boost::shared_ptr<Stripable> r, bool /*with_messages*/)
_pan_mode = PanAzimuthAutomation;
- if (_surface->mcp().subview()->subview_mode() == SubViewMode::None) {
+ if (_surface->mcp().subview()->subview_mode() == Subview::None) {
set_vpot_parameter (_pan_mode);
}
@@ -394,9 +394,9 @@ Strip::update_selection_state ()
void
Strip::show_stripable_name ()
{
- SubViewMode svm = _surface->mcp().subview()->subview_mode();
+ Subview::Mode svm = _surface->mcp().subview()->subview_mode();
- if (svm != SubViewMode::None) {
+ if (svm != Subview::None) {
/* subview mode is responsible for upper line */
return;
}
@@ -512,7 +512,7 @@ Strip::select_event (Button&, ButtonState bs)
void
Strip::vselect_event (Button&, ButtonState bs)
{
- if (_surface->mcp().subview()->subview_mode() != SubViewMode::None) {
+ if (_surface->mcp().subview()->subview_mode() != Subview::None) {
/* most subview modes: vpot press acts like a button for toggle parameters */
if (bs != press) {
return;
@@ -899,7 +899,7 @@ Strip::update_meter ()
return;
}
- if (_surface->mcp().subview()->subview_mode() != SubViewMode::None) {
+ if (_surface->mcp().subview()->subview_mode() != Subview::None) {
return;
}
@@ -987,7 +987,7 @@ Strip::unlock_controls ()
string
Strip::vpot_mode_string ()
{
- if (_surface->mcp().subview()->subview_mode() != SubViewMode::None) {
+ if (_surface->mcp().subview()->subview_mode() != Subview::None) {
return string();
}
@@ -1075,7 +1075,7 @@ Strip::return_to_vpot_mode_display ()
back the mode where it shows what the VPot controls.
*/
- if (_surface->mcp().subview()->subview_mode() != SubViewMode::None) {
+ if (_surface->mcp().subview()->subview_mode() != Subview::None) {
/* do nothing - second line shows value of current subview parameter */
return;
} else if (_stripable) {
@@ -1106,7 +1106,7 @@ Strip::next_pot_mode ()
}
- if (_surface->mcp().subview()->subview_mode() != SubViewMode::None) {
+ if (_surface->mcp().subview()->subview_mode() != Subview::None) {
return;
}
@@ -1139,7 +1139,7 @@ void
Strip::subview_mode_changed ()
{
switch (_surface->mcp().subview()->subview_mode()) {
- case SubViewMode::None:
+ case Subview::None:
set_vpot_parameter (_pan_mode);
/* need to show strip name again */
show_stripable_name ();
@@ -1150,11 +1150,11 @@ Strip::subview_mode_changed ()
notify_metering_state_changed ();
break;
- case SubViewMode::EQ:
- case SubViewMode::Dynamics:
- case SubViewMode::Sends:
- case SubViewMode::TrackView:
- case SubViewMode::Plugin:
+ case Subview::EQ:
+ case Subview::Dynamics:
+ case Subview::Sends:
+ case Subview::TrackView:
+ case Subview::Plugin:
_surface->mcp().subview()->setup_vpot(this, _vpot, pending_display);
break;
}
@@ -1219,7 +1219,7 @@ Strip::reset_saved_values ()
void
Strip::notify_metering_state_changed()
{
- if (_surface->mcp().subview()->subview_mode() != SubViewMode::None) {
+ if (_surface->mcp().subview()->subview_mode() != Subview::None) {
return;
}
diff --git a/libs/surfaces/mackie/subview.cc b/libs/surfaces/mackie/subview.cc
index 65ec570862..7f5dd7ca67 100644
--- a/libs/surfaces/mackie/subview.cc
+++ b/libs/surfaces/mackie/subview.cc
@@ -61,22 +61,22 @@ SubviewFactory* SubviewFactory::instance() {
SubviewFactory::SubviewFactory() {};
boost::shared_ptr<Subview> SubviewFactory::create_subview(
- SubViewMode svm,
+ Subview::Mode svm,
MackieControlProtocol& mcp,
boost::shared_ptr<ARDOUR::Stripable> subview_stripable)
{
switch (svm) {
- case SubViewMode::EQ:
+ case Subview::EQ:
return boost::make_shared<EQSubview>(mcp, subview_stripable);
- case SubViewMode::Dynamics:
+ case Subview::Dynamics:
return boost::make_shared<DynamicsSubview>(mcp, subview_stripable);
- case SubViewMode::Sends:
+ case Subview::Sends:
return boost::make_shared<SendsSubview>(mcp, subview_stripable);
- case SubViewMode::TrackView:
+ case Subview::TrackView:
return boost::make_shared<TrackViewSubview>(mcp, subview_stripable);
- case SubViewMode::Plugin:
+ case Subview::Plugin:
return boost::make_shared<PluginSubview>(mcp, subview_stripable);
- case SubViewMode::None:
+ case Subview::None:
default:
return boost::make_shared<NoneSubview>(mcp, subview_stripable);
}
@@ -152,20 +152,20 @@ void Subview::handle_vselect_event(uint32_t global_strip_position)
}
bool
-Subview::subview_mode_would_be_ok (SubViewMode mode, boost::shared_ptr<Stripable> r, std::string& reason_why_not)
+Subview::subview_mode_would_be_ok (Subview::Mode mode, boost::shared_ptr<Stripable> r, std::string& reason_why_not)
{
switch (mode) {
- case SubViewMode::None:
+ case Subview::None:
return NoneSubview::subview_mode_would_be_ok(r, reason_why_not);
- case SubViewMode::Sends:
+ case Subview::Sends:
return SendsSubview::subview_mode_would_be_ok(r, reason_why_not);
- case SubViewMode::EQ:
+ case Subview::EQ:
return EQSubview::subview_mode_would_be_ok(r, reason_why_not);
- case SubViewMode::Dynamics:
+ case Subview::Dynamics:
return DynamicsSubview::subview_mode_would_be_ok(r, reason_why_not);
- case SubViewMode::TrackView:
+ case Subview::TrackView:
return TrackViewSubview::subview_mode_would_be_ok(r, reason_why_not);
- case SubViewMode::Plugin:
+ case Subview::Plugin:
return PluginSubview::subview_mode_would_be_ok(r, reason_why_not);
}
diff --git a/libs/surfaces/mackie/subview.h b/libs/surfaces/mackie/subview.h
index 9c214726e8..eb744fad86 100644
--- a/libs/surfaces/mackie/subview.h
+++ b/libs/surfaces/mackie/subview.h
@@ -40,38 +40,28 @@ class Pot;
class Strip;
class Subview;
class Surface;
-
-enum SubViewMode {
- None,
- EQ,
- Dynamics,
- Sends,
- TrackView,
- Plugin,
-};
-
-class SubviewFactory {
- public:
- static SubviewFactory* instance();
-
- boost::shared_ptr<Subview> create_subview(SubViewMode svm,
- MackieControlProtocol& mcp, boost::shared_ptr<ARDOUR::Stripable> subview_stripable);
- protected:
- SubviewFactory();
- private:
- static SubviewFactory* _instance;
-};
-
+class SubviewFactory;
/**
This implements the subviews of the Mackie control in a Strategy pattern
*/
class Subview {
public:
+
+ enum Mode {
+ None,
+ EQ,
+ Dynamics,
+ Sends,
+ TrackView,
+ Plugin,
+ };
+
+
Subview(MackieControlProtocol& mcp, boost::shared_ptr<ARDOUR::Stripable> subview_stripable);
virtual ~Subview();
- virtual SubViewMode subview_mode () const = 0;
+ virtual Mode subview_mode () const = 0;
virtual void update_global_buttons() = 0;
virtual bool permit_flipping_faders_and_pots() { return false; }
virtual void setup_vpot(
@@ -84,7 +74,7 @@ class Subview {
// returns true if press was handled in the subview, default is false
virtual bool handle_cursor_left_press() { return false; }
- static bool subview_mode_would_be_ok (SubViewMode, boost::shared_ptr<ARDOUR::Stripable>, std::string& reason_why_not);
+ static bool subview_mode_would_be_ok (Subview::Mode, boost::shared_ptr<ARDOUR::Stripable>, std::string& reason_why_not);
boost::shared_ptr<ARDOUR::Stripable> subview_stripable() const { return _subview_stripable; }
void notify_subview_stripable_deleted ();
@@ -117,7 +107,7 @@ class NoneSubview : public Subview {
NoneSubview(MackieControlProtocol& mcp, boost::shared_ptr<ARDOUR::Stripable> subview_stripable);
virtual ~NoneSubview();
- virtual SubViewMode subview_mode () const { return SubViewMode::None; }
+ virtual Mode subview_mode () const { return Subview::None; }
static bool subview_mode_would_be_ok (boost::shared_ptr<ARDOUR::Stripable> r, std::string& reason_why_not);
virtual void update_global_buttons();
@@ -132,7 +122,7 @@ class EQSubview : public Subview {
EQSubview(MackieControlProtocol& mcp, boost::shared_ptr<ARDOUR::Stripable> subview_stripable);
virtual ~EQSubview();
- virtual SubViewMode subview_mode () const { return SubViewMode::EQ; }
+ virtual Mode subview_mode () const { return Subview::EQ; }
static bool subview_mode_would_be_ok (boost::shared_ptr<ARDOUR::Stripable> r, std::string& reason_why_not);
virtual void update_global_buttons();
virtual void setup_vpot(
@@ -147,7 +137,7 @@ class DynamicsSubview : public Subview {
DynamicsSubview(MackieControlProtocol& mcp, boost::shared_ptr<ARDOUR::Stripable> subview_stripable);
virtual ~DynamicsSubview();
- virtual SubViewMode subview_mode () const { return SubViewMode::Dynamics; }
+ virtual Subview::Mode subview_mode () const { return Subview::Dynamics; }
static bool subview_mode_would_be_ok (boost::shared_ptr<ARDOUR::Stripable> r, std::string& reason_why_not);
virtual void update_global_buttons();
virtual void setup_vpot(
@@ -162,7 +152,7 @@ class SendsSubview : public Subview {
SendsSubview(MackieControlProtocol& mcp, boost::shared_ptr<ARDOUR::Stripable> subview_stripable);
virtual ~SendsSubview();
- virtual SubViewMode subview_mode () const { return SubViewMode::Sends; }
+ virtual Subview::Mode subview_mode () const { return Subview::Sends; }
static bool subview_mode_would_be_ok (boost::shared_ptr<ARDOUR::Stripable> r, std::string& reason_why_not);
virtual void update_global_buttons();
virtual bool permit_flipping_faders_and_pots() { return true; }
@@ -180,7 +170,7 @@ class TrackViewSubview : public Subview {
TrackViewSubview(MackieControlProtocol& mcp, boost::shared_ptr<ARDOUR::Stripable> subview_stripable);
virtual ~TrackViewSubview();
- virtual SubViewMode subview_mode () const { return SubViewMode::TrackView; }
+ virtual Subview::Mode subview_mode () const { return Subview::TrackView; }
static bool subview_mode_would_be_ok (boost::shared_ptr<ARDOUR::Stripable> r, std::string& reason_why_not);
virtual void update_global_buttons();
virtual void setup_vpot(
@@ -197,7 +187,7 @@ class PluginSubview : public Subview {
PluginSubview(MackieControlProtocol& mcp, boost::shared_ptr<ARDOUR::Stripable> subview_stripable);
virtual ~PluginSubview();
- virtual SubViewMode subview_mode () const { return SubViewMode::Plugin; }
+ virtual Subview::Mode subview_mode () const { return Subview::Plugin; }
static bool subview_mode_would_be_ok (boost::shared_ptr<ARDOUR::Stripable> r, std::string& reason_why_not);
virtual void update_global_buttons();
virtual bool permit_flipping_faders_and_pots();
@@ -286,7 +276,19 @@ class PluginEdit : public PluginSubviewState {
std::vector<uint32_t> _plugin_input_parameter_indices;
};
-}
-}
+class SubviewFactory {
+ public:
+ static SubviewFactory* instance();
+
+ boost::shared_ptr<Subview> create_subview(Subview::Mode svm,
+ MackieControlProtocol& mcp, boost::shared_ptr<ARDOUR::Stripable> subview_stripable);
+ protected:
+ SubviewFactory();
+ private:
+ static SubviewFactory* _instance;
+};
+
+} /* namespace Mackie */
+} /* namespace ArdourSurface */
#endif /* __ardour_mackie_control_protocol_subview_h__ */
diff --git a/libs/surfaces/mackie/subview_modes.h b/libs/surfaces/mackie/subview_modes.h
deleted file mode 100644
index f2b34da52a..0000000000
--- a/libs/surfaces/mackie/subview_modes.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2006-2007 John Anderson
- * Copyright (C) 2012-2015 Paul Davis <paul@linuxaudiosystems.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef __ardour_mackie_control_protocol_subview_modes_h__
-#define __ardour_mackie_control_protocol_subview_modes_h__
-
-namespace ArdourSurface {
-
-namespace Mackie {
-
-enum SubViewMode {
- None,
- EQ,
- Dynamics,
- Sends,
- TrackView,
- Plugin,
-};
-
-}
-}
-
-#endif /* __ardour_mackie_control_protocol_subview_modes_h__ */