SampleBuffer -> Use processingSampleRate.
SampleBuffer was using baseSampleRate as the default samplerate instead of the actual processingSampleRate.
This commit is contained in:
@@ -265,6 +265,8 @@ public slots:
|
||||
void sampleRateChanged();
|
||||
|
||||
private:
|
||||
static sample_rate_t mixerSampleRate();
|
||||
|
||||
void update( bool _keep_settings = false );
|
||||
|
||||
void convertIntToFloat ( int_sample_t * & _ibuf, f_cnt_t _frames, int _channels);
|
||||
|
||||
@@ -73,7 +73,7 @@ SampleBuffer::SampleBuffer( const QString & _audio_file,
|
||||
m_amplification( 1.0f ),
|
||||
m_reversed( false ),
|
||||
m_frequency( BaseFreq ),
|
||||
m_sampleRate( Engine::mixer()->baseSampleRate() )
|
||||
m_sampleRate( mixerSampleRate () )
|
||||
{
|
||||
if( _is_base64_data == true )
|
||||
{
|
||||
@@ -99,7 +99,7 @@ SampleBuffer::SampleBuffer( const sampleFrame * _data, const f_cnt_t _frames ) :
|
||||
m_amplification( 1.0f ),
|
||||
m_reversed( false ),
|
||||
m_frequency( BaseFreq ),
|
||||
m_sampleRate( Engine::mixer()->baseSampleRate() )
|
||||
m_sampleRate( mixerSampleRate () )
|
||||
{
|
||||
if( _frames > 0 )
|
||||
{
|
||||
@@ -127,7 +127,7 @@ SampleBuffer::SampleBuffer( const f_cnt_t _frames ) :
|
||||
m_amplification( 1.0f ),
|
||||
m_reversed( false ),
|
||||
m_frequency( BaseFreq ),
|
||||
m_sampleRate( Engine::mixer()->baseSampleRate() )
|
||||
m_sampleRate( mixerSampleRate () )
|
||||
{
|
||||
if( _frames > 0 )
|
||||
{
|
||||
@@ -155,6 +155,11 @@ void SampleBuffer::sampleRateChanged()
|
||||
update( true );
|
||||
}
|
||||
|
||||
sample_rate_t SampleBuffer::mixerSampleRate()
|
||||
{
|
||||
return Engine::mixer()->processingSampleRate();
|
||||
}
|
||||
|
||||
|
||||
void SampleBuffer::update( bool _keep_settings )
|
||||
{
|
||||
@@ -190,7 +195,7 @@ void SampleBuffer::update( bool _keep_settings )
|
||||
int_sample_t * buf = NULL;
|
||||
sample_t * fbuf = NULL;
|
||||
ch_cnt_t channels = DEFAULT_CHANNELS;
|
||||
sample_rate_t samplerate = Engine::mixer()->baseSampleRate();
|
||||
sample_rate_t samplerate = mixerSampleRate();
|
||||
m_frames = 0;
|
||||
|
||||
const QFileInfo fileInfo( file );
|
||||
@@ -378,10 +383,10 @@ void SampleBuffer::normalizeSampleRate( const sample_rate_t _src_sr,
|
||||
bool _keep_settings )
|
||||
{
|
||||
// do samplerate-conversion to our default-samplerate
|
||||
if( _src_sr != Engine::mixer()->baseSampleRate() )
|
||||
if( _src_sr != mixerSampleRate() )
|
||||
{
|
||||
SampleBuffer * resampled = resample( _src_sr,
|
||||
Engine::mixer()->baseSampleRate() );
|
||||
mixerSampleRate() );
|
||||
MM_FREE( m_data );
|
||||
m_frames = resampled->frames();
|
||||
m_data = MM_ALLOC( sampleFrame, m_frames );
|
||||
|
||||
@@ -153,7 +153,7 @@ bool SamplePlayHandle::isFromTrack( const Track * _track ) const
|
||||
|
||||
f_cnt_t SamplePlayHandle::totalFrames() const
|
||||
{
|
||||
return ( m_sampleBuffer->endFrame() - m_sampleBuffer->startFrame() ) * ( Engine::mixer()->processingSampleRate() / Engine::mixer()->baseSampleRate() );
|
||||
return ( m_sampleBuffer->endFrame() - m_sampleBuffer->startFrame() ) * ( Engine::mixer()->processingSampleRate() / m_sampleBuffer->sampleRate() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user