| @@ -413,8 +413,6 @@ float tDelayA_getGain (tDelayA* const d) · 412 unmodified lines |
| 413 | void tTapeDelay_init (tTapeDelay* const d, float delay, uint32_t maxDelay) | 413 | void tTapeDelay_init (tTapeDelay* const d, float delay, uint32_t maxDelay) |
| 414 | { | 414 | { |
| 415 | d->maxDelay = maxDelay; | 415 | d->maxDelay = maxDelay; |
| 416 | | | |
| 417 | d->delay = LEAF_clip(1.f, delay, d->maxDelay); | | |
| 418 | | 416 | |
| 419 | d->buff = (float*) leaf_alloc(sizeof(float) * maxDelay); | 417 | d->buff = (float*) leaf_alloc(sizeof(float) * maxDelay); |
| 420 | | 418 | |
| @@ -427,7 +425,7 @@ void tTapeDelay_init (tTapeDelay* const d, float delay, uint32_t maxDelay) · 6 unmodified lines |
| 427 | d->inc = 1.0f; | 425 | d->inc = 1.0f; |
| 428 | d->inPoint = 0; | 426 | d->inPoint = 0; |
| 429 | | 427 | |
| 430 | tTapeDelay_setDelay(d, 1.f); | 428 | tTapeDelay_setDelay(d, delay); |
| 431 | } | 429 | } |
| 432 | | 430 | |
| 433 | void tTapeDelay_free(tTapeDelay* const d) | 431 | void tTapeDelay_free(tTapeDelay* const d) |
| @@ -438,7 +436,7 @@ void tTapeDelay_free(tTapeDelay* const d) · 4 unmodified lines |
| 438 | | 436 | |
| 439 | int count = 0; | 437 | int count = 0; |
| 440 | | 438 | |
| 441 | #define SMOOTH_FACTOR 10.f | 439 | //#define SMOOTH_FACTOR 10.f |
| 442 | | 440 | |
| 443 | float tTapeDelay_tick (tTapeDelay* const d, float input) | 441 | float tTapeDelay_tick (tTapeDelay* const d, float input) |
| 444 | { | 442 | { |
| @@ -459,11 +457,11 @@ float tTapeDelay_tick (tTapeDelay* const d, float input) · 14 unmodified lines |
| 459 | float diff = (d->inPoint - d->idx); | 457 | float diff = (d->inPoint - d->idx); |
| 460 | while (diff < 0.f) diff += d->maxDelay; | 458 | while (diff < 0.f) diff += d->maxDelay; |
| 461 | | 459 | |
| 462 | d->inc = 1.0f + (diff - d->delay) / d->delay * SMOOTH_FACTOR; | 460 | d->inc = 1.0f + (diff - d->delay) / d->delay; //* SMOOTH_FACTOR; |
| 463 | | 461 | |
| 464 | d->idx += d->inc; | 462 | d->idx += d->inc; |
| 465 | | 463 | |
| 466 | if (d->idx >= d->maxDelay) d->idx = 0.f; | 464 | if (d->idx >= d->maxDelay) d->idx = 0.0f; |
| 467 | | 465 | |
| 468 | return d->lastOut; | 466 | return d->lastOut; |
| 469 | } | 467 | } |