13
0

Fix a couple of bugs causing unexpected movements of the playhead.

git-svn-id: svn://localhost/ardour2/branches/3.0@4480 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2009-02-02 17:11:51 +00:00
parent 2f6327c113
commit 633629b2b1

View File

@ -119,6 +119,7 @@ Session::Session (AudioEngine &eng,
string mix_template)
: _engine (eng),
_requested_return_frame (-1),
_scratch_buffers(new BufferSet()),
_silent_buffers(new BufferSet()),
_mix_buffers(new BufferSet()),
@ -201,6 +202,7 @@ Session::Session (AudioEngine &eng,
nframes_t initial_length)
: _engine (eng),
_requested_return_frame (-1),
_scratch_buffers(new BufferSet()),
_silent_buffers(new BufferSet()),
_mix_buffers(new BufferSet()),
@ -1214,16 +1216,16 @@ Session::audible_frame () const
/* MOVING */
/* check to see if we have passed the first guaranteed
audible frame past our last stopping position. if not,
the return that last stopping point because in terms
audible frame past our last start position. if not,
return that last start point because in terms
of audible frames, we have not moved yet.
*/
if (_transport_speed > 0.0f) {
if (!play_loop || !have_looped) {
if (tf < last_stop_frame + offset) {
return last_stop_frame;
if (tf < _last_roll_location + offset) {
return _last_roll_location;
}
}
@ -1236,8 +1238,8 @@ Session::audible_frame () const
/* XXX wot? no backward looping? */
if (tf > last_stop_frame - offset) {
return last_stop_frame;
if (tf > _last_roll_location - offset) {
return _last_roll_location;
} else {
/* backwards */
ret += offset;