#include "playtransport.inc"
#define PLAY_MODE 0
-#define PAUSE_MODE 1
-#define PAUSEDOWN_MODE 2
+#define LOOP_MODE 1
class PlayTransport
{
int flip_vertical(int vertical, int &x, int &y);
int keypress_event();
int do_keypress(int key);
-// Abstract TransportQue::send_command.
+// Abstract transport send_command.
// wait_tracking - causes stop to wail until the final tracking position
// is updated before returning
// use_inout - causes the in/out points to determine the beginning and end
// the refresh frame.
// toggle_audio - reverses audio playback enable in RenderEngine::get_duty
// loop_play - sets play_loop and plays btwn start/end position (in a loop)
+// speed - play speed for SLOW/FAST playback, zero defaults to slow=.5,fast=2.
void handle_transport(int command, int wait_tracking=0,
- int use_inout=0, int update_refresh=1, int toggle_audio=0,
- int loop_play=0);
- int pause_transport();
- int reset_transport();
+ int use_inout=0, int toggle_audio=0, int loop_play=0, float speed=0);
+ int set_transport(int mode);
int get_w();
int is_stopped();
// Get the EDL to play back with default to mwindow->edl
virtual EDL* get_edl();
void change_position(double position);
- virtual int is_vwindow() { return 0; }
+ virtual bool use_mixers() { return false; }
// playback parameters
int reverse;
public:
PTransportButton(MWindow *mwindow, PlayTransport *transport, int x, int y, VFrame **data);
virtual ~PTransportButton();
- virtual int set_mode(int mode);
+ void set_mode(int mode);
+ void loop_mode(int dir);
int play_command(const char *lock_msg, int command);
int mode;