diff --git a/include/SCBufferAdaptor.hpp b/include/SCBufferAdaptor.hpp index 8b325b2..5c212b5 100644 --- a/include/SCBufferAdaptor.hpp +++ b/include/SCBufferAdaptor.hpp @@ -56,7 +56,10 @@ public: SCBufferAdaptor(index bufnum, World* world) : mBuffer{World_GetNRTBuf(world, static_cast(bufnum))}, mBufnum(bufnum), mWorld(world) - {} + { + if (mBuffer && !static_cast(mBuffer->samplerate)) + mBuffer->samplerate = world->mFullRate.mSampleRate; + } // ~SCBufferAdaptor() { cleanUp(); } diff --git a/release-packaging/Classes/FluidBufCompose.sc b/release-packaging/Classes/FluidBufCompose.sc index a86c0d8..c060466 100644 --- a/release-packaging/Classes/FluidBufCompose.sc +++ b/release-packaging/Classes/FluidBufCompose.sc @@ -23,8 +23,8 @@ FluidBufCompose : FluidBufProcessor { ^this.new( server, nil, [destination]).processList([source, startFrame, numFrames, startChan, numChans, gain, destination, destStartFrame, destStartChan, destGain, 1], freeWhenDone, action);//NB always blocking } - *processBlocking { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, gain = 1, destination, destStartFrame = 0, destStartChan = 0, destGain = 0, freeWhenDone, action| - + *processBlocking { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, gain = 1, destination, destStartFrame = 0, destStartChan = 0, destGain = 0, freeWhenDone = true, action| + source = source.asUGenInput; destination = destination.asUGenInput;