diff options
author | Robin Gareus <robin@gareus.org> | 2017-01-18 15:15:48 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-01-18 15:15:48 +0100 |
commit | efd10abdfb54bb1dd56de0aa01278805f5fbf332 (patch) | |
tree | d25ed31bdd75b77842af782b6e97738e663ca264 /libs/ardour/session.cc | |
parent | cf31233cd1503f7f3818c6bbeb6f5bd427144f80 (diff) |
Implement record with preroll
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 34e4c52e9f..27a3e63112 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -304,6 +304,7 @@ Session::Session (AudioEngine &eng, , _play_range (false) , _range_selection (-1,-1) , _object_selection (-1,-1) + , _preroll_record_in (-1) , main_outs (0) , first_file_data_format_reset (true) , first_file_header_format_reset (true) @@ -781,6 +782,7 @@ Session::destroy () case SessionEvent::Skip: case SessionEvent::PunchIn: case SessionEvent::PunchOut: + case SessionEvent::RecordStart: case SessionEvent::StopOnce: case SessionEvent::RangeStop: case SessionEvent::RangeLocate: @@ -1999,6 +2001,7 @@ Session::disable_record (bool rt_context, bool force) if (!rt_context) { remove_pending_capture_state (); } + unset_preroll_record (); } } @@ -2036,7 +2039,7 @@ Session::maybe_enable_record (bool rt_context) } if (_transport_speed) { - if (!config.get_punch_in()) { + if (!config.get_punch_in() && !preroll_record_enabled ()) { enable_record (); } } else { |