When setting stretchsource playrange, don't clear the ring buffer and seek only if the current seek position is not within the new play range
This commit is contained in:
parent
6aa514f52b
commit
98858218d5
@ -480,10 +480,10 @@ void StretchAudioSource::setPlayRange(Range<double> playrange, bool isloop)
|
|||||||
m_playrange = { 0.0,1.0 };
|
m_playrange = { 0.0,1.0 };
|
||||||
else
|
else
|
||||||
m_playrange = playrange;
|
m_playrange = playrange;
|
||||||
m_stretchoutringbuf.clear();
|
|
||||||
m_stream_end_reached = false;
|
m_stream_end_reached = false;
|
||||||
m_inputfile->setActiveRange(m_playrange);
|
m_inputfile->setActiveRange(m_playrange);
|
||||||
m_inputfile->setLoopEnabled(isloop);
|
m_inputfile->setLoopEnabled(isloop);
|
||||||
|
if (m_playrange.contains(m_seekpos)==false)
|
||||||
m_inputfile->seek(m_playrange.getStart());
|
m_inputfile->seek(m_playrange.getStart());
|
||||||
m_seekpos = m_playrange.getStart();
|
m_seekpos = m_playrange.getStart();
|
||||||
++m_param_change_count;
|
++m_param_change_count;
|
||||||
|
Loading…
Reference in New Issue
Block a user