- PlaybackEngine *playback_engine = vwindow->playback_engine;
- if( !playback_engine->is_playing_back && vwindow->get_edl() != 0 ) {
- double length = vwindow->get_edl()->tracks->total_playable_length();
- double position = playback_engine->get_tracking_position();
- if( position >= length ) transport->goto_start();
+ switch( get_buttonpress() ) {
+ case LEFT_BUTTON:
+ if( !vwindow->playback_engine->is_playing_back ) {
+ double length = vwindow->get_edl()->tracks->total_playable_length();
+ double position = vwindow->playback_engine->get_tracking_position();
+ if( position >= length ) transport->goto_start();
+ }
+ return transport->forward_play->handle_event();
+ case MIDDLE_BUTTON:
+ if( !vwindow->playback_engine->is_playing_back ) {
+ double position = vwindow->playback_engine->get_tracking_position();
+ if( position <= 0 ) transport->goto_end();
+ }
+ return transport->reverse_play->handle_event();
+ case RIGHT_BUTTON: // activates popup
+ break;
+ case WHEEL_UP:
+ return transport->frame_forward_play->handle_event();
+ case WHEEL_DOWN:
+ return transport->frame_reverse_play->handle_event();