#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
{
static bool probe ();
+ XMLNode& get_state ();
+ int set_state (const XMLNode&);
+
private:
static const int VENDORID = 0x165b;
static const int PRODUCTID = 0x8101;
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];
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);