diff options
author | Carl Hetherington <carl@carlh.net> | 2012-06-26 01:40:34 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2012-06-26 01:40:34 +0000 |
commit | 06ad59e93647ed604b026bc1680919638f3a7edc (patch) | |
tree | 7a377591d2639d03e0fccefd1c8a73ca879dde39 /libs | |
parent | a5d013d841870ecf9dfe18e0071ed560a88cc6b8 (diff) |
Fix some oddities with playhead movement when locating
during roll.
git-svn-id: svn://localhost/ardour2/branches/3.0@12937 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/session.h | 1 | ||||
-rw-r--r-- | libs/ardour/session.cc | 2 | ||||
-rw-r--r-- | libs/ardour/session_transport.cc | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index eb84c0685e..4c87b759b1 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -1052,6 +1052,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi int load_state (std::string snapshot_name); framepos_t _last_roll_location; + /** the session frame time at which we last rolled, located, or changed transport direction */ framepos_t _last_roll_or_reversal_location; framepos_t _last_record_location; diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index a38f6a129a..bcba42f01d 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -1263,7 +1263,7 @@ Session::audible_frame () const of audible frames, we have not moved yet. `Start position' in this context means the time we last - either started or changed transport direction. + either started, located, or changed transport direction. */ if (_transport_speed > 0.0f) { diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index 27896f6e67..205c682b6f 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -880,6 +880,7 @@ Session::locate (framepos_t target_frame, bool with_roll, bool with_flush, bool // Update Timecode time // [DR] FIXME: find out exactly where this should go below _transport_frame = target_frame; + _last_roll_or_reversal_location = target_frame; timecode_time(_transport_frame, transmitting_timecode_time); outbound_mtc_timecode_frame = _transport_frame; next_quarter_frame_to_send = 0; |