summaryrefslogtreecommitdiff
path: root/libs/surfaces/powermate/interface.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/surfaces/powermate/interface.cc')
-rw-r--r--libs/surfaces/powermate/interface.cc57
1 files changed, 57 insertions, 0 deletions
diff --git a/libs/surfaces/powermate/interface.cc b/libs/surfaces/powermate/interface.cc
new file mode 100644
index 0000000000..6012c064d8
--- /dev/null
+++ b/libs/surfaces/powermate/interface.cc
@@ -0,0 +1,57 @@
+/*
+ Ardour9pin interface file
+ Ben Loftis
+ Created: 05/18/06 11:07:56
+ Copyright Harrison Audio, LLC, 2007
+*/
+
+#include "powermate.h"
+
+using namespace ARDOUR;
+
+ControlProtocol*
+new_powermate_protocol (ControlProtocolDescriptor* descriptor, Session* s)
+{
+ PowermateControlProtocol* pcp = new PowermateControlProtocol (*s);
+
+ if (pcp->set_active (true)) {
+ delete pcp;
+ return 0;
+ }
+
+ return pcp;
+
+}
+
+void
+delete_powermate_protocol (ControlProtocolDescriptor* descriptor, ControlProtocol* cp)
+{
+ delete cp;
+}
+
+bool
+probe_powermate_protocol (ControlProtocolDescriptor* descriptor)
+{
+ return PowermateControlProtocol::probe ();
+}
+
+static ControlProtocolDescriptor powermate_descriptor = {
+ name : "powermate",
+ id : "uri://ardour.org/ardour/powermate:0",
+ ptr : 0,
+ module : 0,
+ mandatory : 0,
+ supports_feedback : false,
+ probe : probe_powermate_protocol,
+ initialize : new_powermate_protocol,
+ destroy : delete_powermate_protocol
+};
+
+
+extern "C" {
+ControlProtocolDescriptor*
+protocol_descriptor () {
+ return &powermate_descriptor;
+}
+}
+