| @@ -1061,7 +1061,7 @@ void tSOLAD_initToPool (tSOLAD* const wp, int loopSize, tMempool* const mp) · 1060 unmodified lines |
| 1061 | | 1061 | |
| 1062 | w->loopSize = loopSize; | 1062 | w->loopSize = loopSize; |
| 1063 | w->pitchfactor = 1.; | 1063 | w->pitchfactor = 1.; |
| 1064 | w->delaybuf = (float*) mpool_calloc(sizeof(float) * w->loopSize, m); | 1064 | w->delaybuf = (float*) mpool_calloc(sizeof(float) * (w->loopSize+1), m); |
| 1065 | | 1065 | |
| 1066 | w->timeindex = 0; | 1066 | w->timeindex = 0; |
| 1067 | w->xfadevalue = -1; | 1067 | w->xfadevalue = -1; |
| @@ -1095,7 +1095,7 @@ void tSOLAD_ioSamples(tSOLAD* const wp, float* in, float* out, int blocksize) · 27 unmodified lines |
| 1095 | { | 1095 | { |
| 1096 | float sample = tHighpass_tick(&w->hp, in[0]); | 1096 | float sample = tHighpass_tick(&w->hp, in[0]); |
| 1097 | w->delaybuf[0] = sample; | 1097 | w->delaybuf[0] = sample; |
| 1098 | w->delaybuf[w->loopSize-1] = sample; // copy one sample for interpolation | 1098 | w->delaybuf[w->loopSize] = sample; // copy one sample for interpolation |
| 1099 | n--; | 1099 | n--; |
| 1100 | i++; | 1100 | i++; |
| 1101 | in++; | 1101 | in++; |
| @@ -1500,6 +1500,7 @@ void tSimpleRetune_initToPool (tSimpleRetune* const rt, int numVoices, float min · 398 unmodified lines |
| 1500 | r->bufSize = bufSize; | 1500 | r->bufSize = bufSize; |
| 1501 | r->numVoices = numVoices; | 1501 | r->numVoices = numVoices; |
| 1502 | | 1502 | |
| | 1503 | r->pdBuffer = (float*) mpool_alloc(sizeof(float) * 2048, m); |
| 1503 | r->inBuffer = (float*) mpool_calloc(sizeof(float) * r->bufSize, m); | 1504 | r->inBuffer = (float*) mpool_calloc(sizeof(float) * r->bufSize, m); |
| 1504 | r->outBuffer = (float*) mpool_calloc(sizeof(float) * r->bufSize, m); | 1505 | r->outBuffer = (float*) mpool_calloc(sizeof(float) * r->bufSize, m); |
| 1505 | | 1506 | |
| @@ -1510,7 +1511,7 @@ void tSimpleRetune_initToPool (tSimpleRetune* const rt, int numVoices, float min · 4 unmodified lines |
| 1510 | | 1511 | |
| 1511 | r->minInputFreq = minInputFreq; | 1512 | r->minInputFreq = minInputFreq; |
| 1512 | r->maxInputFreq = maxInputFreq; | 1513 | r->maxInputFreq = maxInputFreq; |
| 1513 | tDualPitchDetector_initToPool(&r->dp, r->minInputFreq, r->maxInputFreq, r->inBuffer, r->bufSize, mp); | 1514 | tDualPitchDetector_initToPool(&r->dp, r->minInputFreq, r->maxInputFreq, r->pdBuffer, 2048, mp); |
| 1514 | | 1515 | |
| 1515 | for (int i = 0; i < r->numVoices; ++i) | 1516 | for (int i = 0; i < r->numVoices; ++i) |
| 1516 | { | 1517 | { |
| @@ -1546,7 +1547,8 @@ float tSimpleRetune_tick(tSimpleRetune* const rt, float sample) · 29 unmodified lines |
| 1546 | float out = r->outBuffer[r->index]; | 1547 | float out = r->outBuffer[r->index]; |
| 1547 | r->outBuffer[r->index] = 0.0f; | 1548 | r->outBuffer[r->index] = 0.0f; |
| 1548 | | 1549 | |
| 1549 | if (++r->index >= r->bufSize) | 1550 | r->index++; |
| | 1551 | if (r->index >= r->bufSize) |
| 1550 | { | 1552 | { |
| 1551 | for (int i = 0; i < r->numVoices; ++i) | 1553 | for (int i = 0; i < r->numVoices; ++i) |
| 1552 | { | 1554 | { |
| @@ -1696,7 +1698,8 @@ float* tRetune_tick(tRetune* const rt, float sample) · 143 unmodified lines |
| 1696 | r->outBuffers[i][r->index] = 0.0f; | 1698 | r->outBuffers[i][r->index] = 0.0f; |
| 1697 | } | 1699 | } |
| 1698 | | 1700 | |
| 1699 | if (++r->index >= r->bufSize) | 1701 | r->index++; |
| | 1702 | if (r->index >= r->bufSize) |
| 1700 | { | 1703 | { |
| 1701 | for (int i = 0; i < r->numVoices; ++i) | 1704 | for (int i = 0; i < r->numVoices; ++i) |
| 1702 | { | 1705 | { |