A bit better integration of vst sdk files
[ardour.git] / libs / surfaces / tranzport / tranzport_control_protocol.h
index 0311140f8c20c77c54fe82246d84758833e5f44f..e5193a761cdfa3d71306b034d5b6ceb672f9899a 100644 (file)
@@ -4,13 +4,14 @@
 #include <vector>
 
 #include <sys/time.h>
-#include <pbd/lockmonitor.h>
 #include <pthread.h>
 #include <usb.h>
 
+#include <glibmm/thread.h>
+
 #include <ardour/types.h>
 
-#include "control_protocol.h"
+#include <control_protocol/control_protocol.h>
 
 class TranzportControlProtocol : public ARDOUR::ControlProtocol
 {
@@ -22,6 +23,9 @@ class TranzportControlProtocol : public ARDOUR::ControlProtocol
 
        static bool probe ();
 
+       XMLNode& get_state ();
+       int set_state (const XMLNode&);
+
   private:
        static const int VENDORID = 0x165b;
        static const int PRODUCTID = 0x8101;
@@ -95,7 +99,7 @@ class TranzportControlProtocol : public ARDOUR::ControlProtocol
        DisplayMode     display_mode;
        ARDOUR::gain_t  gain_fraction;
 
-       PBD::Lock update_lock;
+       Glib::Mutex update_lock;
        char current_screen[2][20];
        char pending_screen[2][20];
        bool lights[7];
@@ -106,13 +110,13 @@ class TranzportControlProtocol : public ARDOUR::ControlProtocol
        uint32_t       last_mins;
        uint32_t       last_secs;
        uint32_t       last_frames;
-       jack_nframes_t last_where;
+       nframes_t last_where;
        ARDOUR::gain_t last_track_gain;
        uint32_t       last_meter_fill;
        struct timeval last_wheel_motion;
        int            last_wheel_dir;
 
-       PBD::Lock io_lock;
+       Glib::Mutex io_lock;
 
        int open ();
        int read (uint32_t timeout_override = 0);