"SetDiskstreamSpeed",
"Locate",
"LocateRoll",
+ "LocateRollLocate",
"SetLoop",
"PunchIn",
"PunchOut",
// cerr << "soft locate to " << ev->target_frame << endl;
start_locate (ev->target_frame, false, true, false);
}
+ _send_smpte_update = true;
break;
case Event::LocateRoll:
// cerr << "soft locate to+roll " << ev->target_frame << endl;
start_locate (ev->target_frame, true, true, false);
}
+ _send_smpte_update = true;
break;
+ case Event::LocateRollLocate:
+ // locate is handled by ::request_roll_at_and_return()
+ _requested_return_frame = ev->target_frame;
+ cerr << "Set RRF " << ev->target_frame << endl;
+ request_locate (ev->target2_frame, true);
+ break;
+
+
case Event::SetTransportSpeed:
- set_transport_speed (ev->speed, ev->yes_or_no);
+ set_transport_speed (ev->speed, ev->yes_or_no, ev->second_yes_or_no);
break;
case Event::PunchIn:
case Event::StopOnce:
if (!non_realtime_work_pending()) {
- stop_transport (ev->yes_or_no);
+ set_transport_speed (0.0, ev->yes_or_no, ev->second_yes_or_no);
_clear_event_type (Event::StopOnce);
}
remove = false;
case Event::Audition:
set_audition (ev->region);
+ // drop reference to region
+ ev->region.reset ();
break;
case Event::InputConfigurationChange:
schedule_butler_transport_work ();
break;
- case Event::SetAudioRange:
- current_audio_range = ev->audio_range;
- setup_auto_play ();
- break;
-
- case Event::SetPlayRange:
- set_play_range (ev->yes_or_no);
+ case Event::SetPlayAudioRange:
+ set_play_range (ev->audio_range, ev->yes_or_no, (ev->speed == 1.0f));
break;
default: