summaryrefslogtreecommitdiff
path: root/libs/surfaces
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-04-09 15:50:38 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-04-09 15:50:38 +0000
commite2d62d9af44093cf6fc9fe2349286f5f1a82626a (patch)
treed35102cf83e875d8fadec4c6a8c58068b0bf49da /libs/surfaces
parent5d0858940b2a38a77b9fc268eae814ac191a9f5f (diff)
allow ControlProtocols to call for undo/redo in GUI; make MCP use this
git-svn-id: svn://localhost/ardour2/branches/3.0@11851 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces')
-rw-r--r--libs/surfaces/control_protocol/control_protocol.cc2
-rw-r--r--libs/surfaces/control_protocol/control_protocol/control_protocol.h2
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.cc26
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.h8
4 files changed, 34 insertions, 4 deletions
diff --git a/libs/surfaces/control_protocol/control_protocol.cc b/libs/surfaces/control_protocol/control_protocol.cc
index 983208343a..bbe4cea350 100644
--- a/libs/surfaces/control_protocol/control_protocol.cc
+++ b/libs/surfaces/control_protocol/control_protocol.cc
@@ -35,6 +35,8 @@ Signal0<void> ControlProtocol::ZoomToSession;
Signal0<void> ControlProtocol::ZoomOut;
Signal0<void> ControlProtocol::ZoomIn;
Signal0<void> ControlProtocol::Enter;
+Signal0<void> ControlProtocol::Undo;
+Signal0<void> ControlProtocol::Redo;
Signal1<void,float> ControlProtocol::ScrollTimeline;
Signal1<void,uint32_t> ControlProtocol::SelectByRID;
diff --git a/libs/surfaces/control_protocol/control_protocol/control_protocol.h b/libs/surfaces/control_protocol/control_protocol/control_protocol.h
index c05e7e291a..c6547b0974 100644
--- a/libs/surfaces/control_protocol/control_protocol/control_protocol.h
+++ b/libs/surfaces/control_protocol/control_protocol/control_protocol.h
@@ -60,6 +60,8 @@ class ControlProtocol : virtual public sigc::trackable, public PBD::Stateful, pu
static PBD::Signal0<void> ZoomIn;
static PBD::Signal0<void> ZoomOut;
static PBD::Signal0<void> Enter;
+ static PBD::Signal0<void> Undo;
+ static PBD::Signal0<void> Redo;
static PBD::Signal1<void,float> ScrollTimeline;
static PBD::Signal1<void,uint32_t> SelectByRID;
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc
index dedd3332a8..3410eeb29f 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.cc
+++ b/libs/surfaces/mackie/mackie_control_protocol.cc
@@ -1720,6 +1720,32 @@ MackieControlProtocol::scrub_release (Mackie::Button &)
);
}
+LedState
+MackieControlProtocol::undo_press (Button&)
+{
+ Undo(); /* EMIT SIGNAL */
+ return off;
+}
+
+LedState
+MackieControlProtocol::undo_release (Button&)
+{
+ return off;
+}
+
+LedState
+MackieControlProtocol::redo_press (Button&)
+{
+ Redo(); /* EMIT SIGNAL */
+ return off;
+}
+
+LedState
+MackieControlProtocol::redo_release (Button&)
+{
+ return off;
+}
+
LedState
MackieControlProtocol::drop_press (Button &)
{
diff --git a/libs/surfaces/mackie/mackie_control_protocol.h b/libs/surfaces/mackie/mackie_control_protocol.h
index 3825262ded..70e1dfd364 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.h
+++ b/libs/surfaces/mackie/mackie_control_protocol.h
@@ -196,6 +196,10 @@ class MackieControlProtocol
Mackie::LedState zoom_release(Mackie::Button &);
Mackie::LedState scrub_press(Mackie::Button &);
Mackie::LedState scrub_release(Mackie::Button &);
+ Mackie::LedState undo_press (Mackie::Button &);
+ Mackie::LedState undo_release (Mackie::Button &);
+ Mackie::LedState redo_press (Mackie::Button &);
+ Mackie::LedState redo_release (Mackie::Button &);
/* unimplemented button handlers */
@@ -261,14 +265,10 @@ class MackieControlProtocol
Mackie::LedState on_release (Mackie::Button &) { return Mackie::off; }
Mackie::LedState rec_ready_press (Mackie::Button &) { return Mackie::off; }
Mackie::LedState rec_ready_release (Mackie::Button &) { return Mackie::off; }
- Mackie::LedState undo_press (Mackie::Button &) { return Mackie::off; }
- Mackie::LedState undo_release (Mackie::Button &) { return Mackie::off; }
Mackie::LedState snapshot_press (Mackie::Button &) { return Mackie::off; }
Mackie::LedState snapshot_release (Mackie::Button &) { return Mackie::off; }
Mackie::LedState touch_press (Mackie::Button &) { return Mackie::off; }
Mackie::LedState touch_release (Mackie::Button &) { return Mackie::off; }
- Mackie::LedState redo_press (Mackie::Button &) { return Mackie::off; }
- Mackie::LedState redo_release (Mackie::Button &) { return Mackie::off; }
Mackie::LedState enter_press (Mackie::Button &) { return Mackie::off; }
Mackie::LedState enter_release (Mackie::Button &) { return Mackie::off; }
Mackie::LedState cancel_press (Mackie::Button &) { return Mackie::off; }