diff --git a/src/engine/dispatchContainer.cpp b/src/engine/dispatchContainer.cpp index c30d7f231..307f09574 100644 --- a/src/engine/dispatchContainer.cpp +++ b/src/engine/dispatchContainer.cpp @@ -86,9 +86,16 @@ void DivDispatchContainer::setRates(double gotRate) { int outs=dispatch->getOutputCount(); + int rate=dispatch->rate; + rateMul=0; + while (rateMul<8 && raterate,gotRate); + blip_set_rates(bb[i],rate,gotRate); } rateMemory=gotRate; } @@ -120,7 +127,13 @@ void DivDispatchContainer::grow(size_t size) { logE("not enough memory!"); \ return; \ } \ - blip_set_rates(bb[i],dispatch->rate,rateMemory); \ + int rate=dispatch->rate; \ + rateMul=0; \ + while (rateMul<8 && rate=outs) { bbInMapped[i]=NULL; @@ -160,6 +175,8 @@ void DivDispatchContainer::flush(size_t count) { void DivDispatchContainer::fillBuf(size_t runtotal, size_t offset, size_t size) { CHECK_MISSING_BUFS; + int step=1<0) { dcOffCompensation=false; for (int i=0; i