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
This commit is contained in:
Carl Hetherington 2012-06-26 01:40:34 +00:00
parent a5d013d841
commit 06ad59e936
3 changed files with 3 additions and 1 deletions

View File

@ -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;

View File

@ -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) {

View File

@ -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;