summaryrefslogtreecommitdiff
path: root/libs/surfaces/tranzport/tranzport_control_protocol.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-04-06 16:51:27 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-04-06 16:51:27 +0000
commite9f9ca5278c6bcafd6a22ad273185c31664c32a5 (patch)
tree6000ae75223bfa5b2f476337558e3a20923641bd /libs/surfaces/tranzport/tranzport_control_protocol.h
parent06764a3b0704e06ec8de42533938b1b50ab1ad4d (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.h23
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 ();