void prepareToPlay() { if (juceFilter != 0) { #if ! JucePlugin_IsSynth juceFilter->setPlayConfigDetails (GetInput(0)->GetStreamFormat().mChannelsPerFrame, #else juceFilter->setPlayConfigDetails (0, #endif GetOutput(0)->GetStreamFormat().mChannelsPerFrame, GetSampleRate(), GetMaxFramesPerSlice()); bufferSpace.setSize (juceFilter->getNumInputChannels() + juceFilter->getNumOutputChannels(), GetMaxFramesPerSlice() + 32); juceFilter->prepareToPlay (GetSampleRate(), GetMaxFramesPerSlice()); midiEvents.clear(); juce_free (channels); channels = (float**) juce_calloc (sizeof (float*) * jmax (juceFilter->getNumInputChannels(), juceFilter->getNumOutputChannels()) + 4); prepared = true; }
//-------------------------------------------------------------------------------- OSStatus Tracker::Initialize() { OSStatus status = AUEffectBase::Initialize(); if (status == noErr) { summedInputBuffer = (float*) malloc(GetMaxFramesPerSlice() * sizeof(float)); if (summedInputBuffer != NULL) { for (UInt32 i=0; i < GetMaxFramesPerSlice(); i++) summedInputBuffer[i] = 0.0f; } else status = memFullErr; } return status; }
void SonogramViewDemo::AllocateBuffers() { mBlockSize = 1024; mNumBins = mBlockSize>>1; if (mSpectrumBuffer) { // delete calls deallocate delete (mSpectrumBuffer); } mSpectrumBuffer = new CARingBuffer(); mSpectrumBuffer->Allocate(GetNumberOfChannels(), mNumBins*sizeof(Float32), kMaxSonogramLatency); CAStreamBasicDescription bufClientDesc; bufClientDesc.SetCanonical(GetNumberOfChannels(), false); bufClientDesc.mSampleRate = GetSampleRate(); UInt32 frameLength = kDefaultValue_BufferSize*sizeof(Float32); if (mFetchingBufferList) { mFetchingBufferList->DeallocateBuffers(); delete(mFetchingBufferList); } mFetchingBufferList = CABufferList::New("fetch buffer", bufClientDesc ); mFetchingBufferList->AllocateBuffers(frameLength); if (mSpectralDataBufferList) { mSpectralDataBufferList->DeallocateBuffers(); delete(mSpectralDataBufferList); } mSpectralDataBufferList = CABufferList::New("temp buffer", bufClientDesc ); mSpectralDataBufferList->AllocateBuffers(frameLength); memset (&mRenderStamp, 0, sizeof(AudioTimeStamp)); mRenderStamp.mFlags = kAudioTimeStampSampleTimeValid; mSpectralProcessor.free(); mSpectralProcessor = new CASpectralProcessor(mBlockSize, mNumBins, GetNumberOfChannels(), GetMaxFramesPerSlice()); if (mMinAmp) free(mMinAmp); mMinAmp = (Float32*) calloc(GetNumberOfChannels(), sizeof(Float32)); if (mMaxAmp) free(mMaxAmp); mMaxAmp = (Float32*) calloc(GetNumberOfChannels(), sizeof(Float32)); }