History

tTapeDelay fixes.

mulshine committed 7 years ago

Commit dba87511 parent 579b8192 files · +5 −7Browse files

Unified · Split

2 files
  1. LEAF/Inc/leaf-mempool.h +1 −1
  2. LEAF/Src/leaf-delay.c +4 −6
LEAF/Inc/leaf-mempool.h+1−1
@@ -50,7 +50,7 @@ extern "C" { · 49 unmodified lines
50 50
51//==============================================================================51//==============================================================================
52 52
53#define MPOOL_POOL_SIZE 300000053#define MPOOL_POOL_SIZE 500000
54#define MPOOL_ALIGN_SIZE (8)54#define MPOOL_ALIGN_SIZE (8)
55 55
56//#define size_t unsigned long56//#define size_t unsigned long
LEAF/Src/leaf-delay.c+4−6
@@ -413,8 +413,6 @@ float tDelayA_getGain (tDelayA* const d) · 412 unmodified lines
413void tTapeDelay_init (tTapeDelay* const d, float delay, uint32_t maxDelay)413void 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
433void tTapeDelay_free(tTapeDelay* const d)431void tTapeDelay_free(tTapeDelay* const d)
@@ -438,7 +436,7 @@ void tTapeDelay_free(tTapeDelay* const d) · 4 unmodified lines
438 436
439int count = 0;437int count = 0;
440 438
441#define SMOOTH_FACTOR 10.f439//#define SMOOTH_FACTOR 10.f
442 440
443float tTapeDelay_tick (tTapeDelay* const d, float input)441float 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}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t