SampleBuffer -> Use processingSampleRate.

SampleBuffer was using baseSampleRate as the default samplerate instead of the actual processingSampleRate.
This commit is contained in:
Shmuel H
2018-05-22 15:45:35 +03:00
parent fad89d6be7
commit 37f0c3f33d
3 changed files with 14 additions and 7 deletions

View File

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