-void
-Session::request_preroll_record_punch (samplepos_t rec_in, samplecnt_t preroll)
-{
- if (actively_recording ()) {
- return;
- }
- unset_preroll_record_punch ();
- unset_preroll_record_trim ();
- samplepos_t start = std::max ((samplepos_t)0, rec_in - preroll);
-
- _preroll_record_punch_pos = rec_in;
- if (_preroll_record_punch_pos >= 0) {
- replace_event (SessionEvent::RecordStart, _preroll_record_punch_pos);
- config.set_punch_in (false);
- config.set_punch_out (false);
- }
- maybe_enable_record ();
- request_locate (start, true);
- set_requested_return_sample (rec_in);
-}
-