Playcursor tweaks but still wonky
This commit is contained in:
parent
cabf6de7c3
commit
eace6f6d53
@ -112,6 +112,7 @@ public:
|
|||||||
double getLastSeekPos() const { return m_seekpos; }
|
double getLastSeekPos() const { return m_seekpos; }
|
||||||
CriticalSection* getMutex() { return &m_cs; }
|
CriticalSection* getMutex() { return &m_cs; }
|
||||||
int64_t getLastSourcePosition() const { return m_last_filepos; }
|
int64_t getLastSourcePosition() const { return m_last_filepos; }
|
||||||
|
int m_prebuffersize = 0;
|
||||||
private:
|
private:
|
||||||
CircularBuffer<float> m_stretchoutringbuf{ 1024 * 1024 };
|
CircularBuffer<float> m_stretchoutringbuf{ 1024 * 1024 };
|
||||||
AudioBuffer<float> m_file_inbuf;
|
AudioBuffer<float> m_file_inbuf;
|
||||||
|
@ -702,8 +702,10 @@ void WaveformComponent::paint(Graphics & g)
|
|||||||
if (CursorPosCallback)
|
if (CursorPosCallback)
|
||||||
{
|
{
|
||||||
double timediff = (Time::getMillisecondCounterHiRes() - m_last_source_pos_update_time)*(1.0/m_sas->getRate());
|
double timediff = (Time::getMillisecondCounterHiRes() - m_last_source_pos_update_time)*(1.0/m_sas->getRate());
|
||||||
double curpos = ((double)m_last_source_pos / m_sas->getOutputSamplerate()) + (timediff/1000.0);
|
double curpos = ((double)m_last_source_pos / m_sas->getOutputSamplerate());
|
||||||
curpos = 1.0 / m_sas->getInfileLengthSeconds()*curpos;
|
double prebufoffset = (double)m_sas->m_prebuffersize / m_sas->getOutputSamplerate();
|
||||||
|
curpos -= prebufoffset;
|
||||||
|
curpos = 1.0 / m_sas->getInfileLengthSeconds()*(curpos+(timediff / 1000.0));
|
||||||
g.fillRect(normalizedToViewX<int>(curpos), m_topmargin, 1, getHeight() - m_topmargin);
|
g.fillRect(normalizedToViewX<int>(curpos), m_topmargin, 1, getHeight() - m_topmargin);
|
||||||
g.drawText(String(curpos), 1, 30, 200,30, Justification::left);
|
g.drawText(String(curpos), 1, 30, 200,30, Justification::left);
|
||||||
//g.fillRect(normalizedToViewX<int>(CursorPosCallback()), m_topmargin, 1, getHeight() - m_topmargin);
|
//g.fillRect(normalizedToViewX<int>(CursorPosCallback()), m_topmargin, 1, getHeight() - m_topmargin);
|
||||||
|
@ -226,6 +226,7 @@ void PaulstretchpluginAudioProcessor::setPreBufferAmount(int x)
|
|||||||
String err;
|
String err;
|
||||||
startplay({ *getFloatParameter(cpi_soundstart),*getFloatParameter(cpi_soundend) },
|
startplay({ *getFloatParameter(cpi_soundstart),*getFloatParameter(cpi_soundend) },
|
||||||
m_cur_num_out_chans, m_curmaxblocksize, err);
|
m_cur_num_out_chans, m_curmaxblocksize, err);
|
||||||
|
|
||||||
m_prebuffering_inited = true;
|
m_prebuffering_inited = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -422,6 +423,7 @@ void PaulstretchpluginAudioProcessor::startplay(Range<double> playrange, int num
|
|||||||
m_stretch_source->setNumOutChannels(numoutchans);
|
m_stretch_source->setNumOutChannels(numoutchans);
|
||||||
m_stretch_source->setFFTSize(m_fft_size_to_use);
|
m_stretch_source->setFFTSize(m_fft_size_to_use);
|
||||||
m_stretch_source->setProcessParameters(&m_ppar);
|
m_stretch_source->setProcessParameters(&m_ppar);
|
||||||
|
m_stretch_source->m_prebuffersize = bufamt;
|
||||||
m_last_outpos_pos = 0.0;
|
m_last_outpos_pos = 0.0;
|
||||||
m_last_in_pos = playrange.getStart()*m_stretch_source->getInfileLengthSeconds();
|
m_last_in_pos = playrange.getStart()*m_stretch_source->getInfileLengthSeconds();
|
||||||
m_buffering_source->prepareToPlay(maxBlockSize, getSampleRateChecked());
|
m_buffering_source->prepareToPlay(maxBlockSize, getSampleRateChecked());
|
||||||
|
Loading…
Reference in New Issue
Block a user