MCPcopy Create free account
hub / github.com/DamRsn/NeuralNote / prepareToPlay

Method prepareToPlay

NeuralNote/Source/SourceAudioManager.cpp:24–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22}
23
24void SourceAudioManager::prepareToPlay(double inSampleRate, int inSamplesPerBlock)
25{
26 if (mIsRecording.load()) {
27 stopRecording();
28 }
29
30 mSampleRate = inSampleRate;
31 mInternalMonoBuffer.setSize(1, inSamplesPerBlock);
32 mDownSampler.prepareToPlay(inSampleRate, inSamplesPerBlock, BASIC_PITCH_SAMPLE_RATE);
33 mInternalDownsampledBuffer.setSize(
34 1, static_cast<int>(std::ceil(BASIC_PITCH_SAMPLE_RATE / inSampleRate * inSamplesPerBlock)) + 5);
35
36 auto state = mProcessor->getState();
37 if ((state == PopulatedAudioAndMidiRegions || state == Processing) && mSampleRate != mSourceAudioSampleRate) {
38 AudioBuffer<float> tmp_buffer;
39 AudioUtils::resampleBuffer(mSourceAudio, tmp_buffer, mSourceAudioSampleRate, mSampleRate);
40 mSourceAudio = std::move(tmp_buffer);
41 mSourceAudioSampleRate = mSampleRate;
42 }
43}
44
45void SourceAudioManager::processBlock(const AudioBuffer<float>& inBuffer)
46{

Callers

nothing calls this directly

Calls 2

resampleBufferFunction · 0.85
getStateMethod · 0.80

Tested by

no test coverage detected