Skip to content

Commit acfbfc4

Browse files
committed
Merge remote-tracking branch 'upstream/master' into revamp-buffers
2 parents 3d53aa8 + 9912fd8 commit acfbfc4

File tree

2 files changed

+17
-31
lines changed

2 files changed

+17
-31
lines changed

include/AudioEngine.h

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include <memory>
3434
#include <vector>
3535

36+
#include "AudioDevice.h"
3637
#include "lmms_basics.h"
3738
#include "SampleFrame.h"
3839
#include "LocklessList.h"
@@ -230,9 +231,20 @@ class LMMS_EXPORT AudioEngine : public QObject
230231
}
231232

232233

233-
sample_rate_t baseSampleRate() const;
234-
sample_rate_t outputSampleRate() const;
235-
sample_rate_t inputSampleRate() const;
234+
sample_rate_t baseSampleRate() const { return m_baseSampleRate; }
235+
236+
237+
sample_rate_t outputSampleRate() const
238+
{
239+
return m_audioDev != nullptr ? m_audioDev->sampleRate() : m_baseSampleRate;
240+
}
241+
242+
243+
sample_rate_t inputSampleRate() const
244+
{
245+
return m_audioDev != nullptr ? m_audioDev->sampleRate() : m_baseSampleRate;
246+
}
247+
236248

237249
inline float masterGain() const
238250
{
@@ -325,6 +337,7 @@ class LMMS_EXPORT AudioEngine : public QObject
325337
SampleFrame* m_inputBuffer[2];
326338
f_cnt_t m_inputBufferFrames[2];
327339
f_cnt_t m_inputBufferSize[2];
340+
sample_rate_t m_baseSampleRate;
328341
int m_inputBufferRead;
329342
int m_inputBufferWrite;
330343

src/core/AudioEngine.cpp

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ AudioEngine::AudioEngine( bool renderOnly ) :
7575
m_framesPerPeriod(std::clamp(ConfigManager::inst()
7676
->value("audioengine", "framesperaudiobuffer", QString::number(AudioEngine::DefaultBufferSize))
7777
.toInt(), AudioEngine::MinimumBufferSize, AudioEngine::MaximumBufferSize)),
78+
m_baseSampleRate(std::max(ConfigManager::inst()->value("audioengine", "samplerate").toInt(), 44100)),
7879
m_inputBufferRead( 0 ),
7980
m_inputBufferWrite( 1 ),
8081
m_outputBufferRead(nullptr),
@@ -180,34 +181,6 @@ void AudioEngine::stopProcessing()
180181

181182

182183

183-
sample_rate_t AudioEngine::baseSampleRate() const
184-
{
185-
sample_rate_t sr = ConfigManager::inst()->value( "audioengine", "samplerate" ).toInt();
186-
if( sr < 44100 )
187-
{
188-
sr = 44100;
189-
}
190-
return sr;
191-
}
192-
193-
194-
195-
196-
sample_rate_t AudioEngine::outputSampleRate() const
197-
{
198-
return m_audioDev != nullptr ? m_audioDev->sampleRate() :
199-
baseSampleRate();
200-
}
201-
202-
203-
204-
205-
sample_rate_t AudioEngine::inputSampleRate() const
206-
{
207-
return m_audioDev != nullptr ? m_audioDev->sampleRate() :
208-
baseSampleRate();
209-
}
210-
211184
bool AudioEngine::criticalXRuns() const
212185
{
213186
return cpuLoad() >= 99 && Engine::getSong()->isExporting() == false;

0 commit comments

Comments
 (0)