summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-04-13 22:49:58 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-04-13 22:49:58 +0000
commite240fb16bdd66d145981a9737bd51341f25a5134 (patch)
tree3b0695c561545542747a0ce33471a8531b2e53fe /libs
parente36aa889eb3b4c834e49168fc7045c3736028db0 (diff)
MCP: hack for Nucleus fader touch messages
git-svn-id: svn://localhost/ardour2/branches/3.0@11968 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/mackie/gui.cc1
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.cc3
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.h3
-rw-r--r--libs/surfaces/mackie/strip.cc6
4 files changed, 8 insertions, 5 deletions
diff --git a/libs/surfaces/mackie/gui.cc b/libs/surfaces/mackie/gui.cc
index 1c62cf2d45..6ca76d4c0e 100644
--- a/libs/surfaces/mackie/gui.cc
+++ b/libs/surfaces/mackie/gui.cc
@@ -240,6 +240,7 @@ MackieControlProtocolGUI::rebuild_function_key_editor ()
row = *(function_key_model->append());
row[function_key_columns.name] = string_compose ("F%1", n+1);
row[function_key_columns.number] = n;
+ row[function_key_columns.plain] = _cp.f_action (n, 0);
row[function_key_columns.control] = "c";
row[function_key_columns.option] = "o";
row[function_key_columns.shift] = "s";
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc
index 392888f0f5..7aa78d8c02 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.cc
+++ b/libs/surfaces/mackie/mackie_control_protocol.cc
@@ -337,7 +337,6 @@ MackieControlProtocol::switch_banks (uint32_t initial, bool force)
set_view_mode (_view_mode);
/* current bank has not been saved */
-
session->set_dirty();
}
@@ -1104,7 +1103,7 @@ MackieControlProtocol::clear_ports ()
}
string
-MackieControlProtocol::f_action (uint32_t fn)
+MackieControlProtocol::f_action (uint32_t fn, uint32_t /* modifier */)
{
if (fn >= _f_actions.size()) {
return string();
diff --git a/libs/surfaces/mackie/mackie_control_protocol.h b/libs/surfaces/mackie/mackie_control_protocol.h
index 45c16cc50d..83b77bd7f2 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.h
+++ b/libs/surfaces/mackie/mackie_control_protocol.h
@@ -191,6 +191,8 @@ class MackieControlProtocol
void remove_down_select_button (int surface, int strip);
void select_range ();
+ std::string f_action (uint32_t fn, uint32_t modifier = 0);
+
protected:
// shut down the surface
void close();
@@ -231,7 +233,6 @@ class MackieControlProtocol
/* handling function key presses */
- std::string f_action (uint32_t fn);
void f_press (uint32_t fn);
private:
diff --git a/libs/surfaces/mackie/strip.cc b/libs/surfaces/mackie/strip.cc
index 43d5c63e87..82a3e07ab4 100644
--- a/libs/surfaces/mackie/strip.cc
+++ b/libs/surfaces/mackie/strip.cc
@@ -416,8 +416,10 @@ Strip::handle_button (Button& button, ButtonState bs)
return;
}
- if (button.id() >= Button::fader_touch_base_id &&
- button.id() < Button::fader_touch_base_id + 8) {
+ if ((button.id() >= Button::fader_touch_base_id &&
+ button.id() < Button::fader_touch_base_id + 8) ||
+ /* Hack for SSL Nucleus */
+ (button.id() >= 104 && button.id() < 112)) {
DEBUG_TRACE (DEBUG::MackieControl, string_compose ("fader touch, press ? %1\n", (bs == press)));