diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-04-06 16:51:27 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-04-06 16:51:27 +0000 |
commit | e9f9ca5278c6bcafd6a22ad273185c31664c32a5 (patch) | |
tree | 6000ae75223bfa5b2f476337558e3a20923641bd /libs/surfaces/tranzport/tranzport_control_protocol.h | |
parent | 06764a3b0704e06ec8de42533938b1b50ab1ad4d (diff) |
3 different data wheel modes for tranzport, plus lock on writes, and more
git-svn-id: svn://localhost/trunk/ardour2@448 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces/tranzport/tranzport_control_protocol.h')
-rw-r--r-- | libs/surfaces/tranzport/tranzport_control_protocol.h | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/libs/surfaces/tranzport/tranzport_control_protocol.h b/libs/surfaces/tranzport/tranzport_control_protocol.h index a655463bc1..c5aa5f90e0 100644 --- a/libs/surfaces/tranzport/tranzport_control_protocol.h +++ b/libs/surfaces/tranzport/tranzport_control_protocol.h @@ -4,7 +4,7 @@ #include <vector> #include <sys/time.h> - +#include <pbd/lockmonitor.h> #include <pthread.h> #include <usb.h> #include <ardour/control_protocol.h> @@ -66,12 +66,18 @@ class TranzportControlProtocol : public ControlProtocol { ButtonShift = 0x08000000 }; - enum WheelMode { - WheelGain, - WheelPan, - WheelMaster + enum WheelShiftMode { + WheelShiftGain, + WheelShiftPan, + WheelShiftMaster }; + enum WheelMode { + WheelTimeline, + WheelScrub, + WheelShuttle + }; + pthread_t thread; uint32_t buttonmask; uint32_t timeout; @@ -83,6 +89,7 @@ class TranzportControlProtocol : public ControlProtocol { char current_screen[2][20]; bool lights[7]; WheelMode wheel_mode; + WheelShiftMode wheel_shift_mode; struct timeval last_wheel_motion; int last_wheel_dir; @@ -95,6 +102,8 @@ class TranzportControlProtocol : public ControlProtocol { uint32_t last_frames; jack_nframes_t last_where; + PBD::Lock write_lock; + int open (); int read (uint32_t timeout_override = 0); int write (uint8_t* cmd, uint32_t timeout_override = 0); @@ -121,8 +130,12 @@ class TranzportControlProtocol : public ControlProtocol { void record_status_changed (); void datawheel (); + void scrub (); + void scroll (); + void shuttle (); void next_wheel_mode (); + void next_wheel_shift_mode (); void next_track (); void prev_track (); |