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:
xenakios 2017-11-17 17:17:31 +02:00
parent 6aa514f52b
commit 98858218d5

View File

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