X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Ftranzport%2Ftranzport_control_protocol.h;h=e5193a761cdfa3d71306b034d5b6ceb672f9899a;hb=c371600816bd50d519f76bafd228e12b7f1b42a6;hp=cf4a9a7d3f3838e15b73aa99baa5443a62657c5c;hpb=028e1ebc4a392572cae586d0e9044a32b867cba4;p=ardour.git diff --git a/libs/surfaces/tranzport/tranzport_control_protocol.h b/libs/surfaces/tranzport/tranzport_control_protocol.h index cf4a9a7d3f..e5193a761c 100644 --- a/libs/surfaces/tranzport/tranzport_control_protocol.h +++ b/libs/surfaces/tranzport/tranzport_control_protocol.h @@ -4,27 +4,16 @@ #include #include -#include #include #include -#include -#include -#include +#include -extern BaseUI::RequestType LEDChange; -extern BaseUI::RequestType Print; -extern BaseUI::RequestType SetCurrentTrack; +#include -struct TranzportRequest : public BaseUI::BaseRequestObject { - int led; - int row; - int col; - char* text; - ARDOUR::Route* track; -}; +#include -class TranzportControlProtocol : public ARDOUR::ControlProtocol, public AbstractUI +class TranzportControlProtocol : public ARDOUR::ControlProtocol { public: TranzportControlProtocol (ARDOUR::Session&); @@ -32,7 +21,10 @@ class TranzportControlProtocol : public ARDOUR::ControlProtocol, public Abstract int set_active (bool yn); - bool caller_is_ui_thread(); + static bool probe (); + + XMLNode& get_state (); + int set_state (const XMLNode&); private: static const int VENDORID = 0x165b; @@ -100,15 +92,14 @@ class TranzportControlProtocol : public ARDOUR::ControlProtocol, public Abstract uint8_t _datawheel; uint8_t _device_status; usb_dev_handle* udev; - ARDOUR::Route* current_route; + uint32_t current_track_id; WheelMode wheel_mode; WheelShiftMode wheel_shift_mode; DisplayMode display_mode; + ARDOUR::gain_t gain_fraction; - void do_request (TranzportRequest*); - - PBD::Lock update_lock; + Glib::Mutex update_lock; char current_screen[2][20]; char pending_screen[2][20]; bool lights[7]; @@ -119,13 +110,13 @@ class TranzportControlProtocol : public ARDOUR::ControlProtocol, public Abstract 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);