History

Fixed BackAndForth.

mulshine committed 7 years ago

Commit 97ad9721 parent 3e8b4823 files · +26 −11Browse files

Unified · Split

3 files
  1. LEAF/Inc/leaf-sample.h +1 −0
  2. LEAF/Src/leaf-sample.c +12 −5
  3. LEAF_JUCEPlugin/Source/MyTest.cpp +13 −6
LEAF/Inc/leaf-sample.h+1−0
@@ -80,6 +80,7 @@ extern "C" { · 79 unmodified lines
80 float iinc;80 float iinc;
81 int8_t dir;81 int8_t dir;
82 int8_t flip;82 int8_t flip;
83 int8_t bnf;
83 84
84 int32_t start;85 int32_t start;
85 int32_t end;86 int32_t end;
LEAF/Src/leaf-sample.c+12−5
@@ -120,8 +120,10 @@ void tSampler_init (tSampler* const p, tBuffer* s) · 119 unmodified lines
120 p->idx = 0.f;120 p->idx = 0.f;
121 p->inc = 1.f;121 p->inc = 1.f;
122 p->iinc = 1.f;122 p->iinc = 1.f;
123
123 p->dir = 1;124 p->dir = 1;
124 p->flip = 1;125 p->flip = 1;
126 p->bnf = 1;
125 127
126 p->mode = Normal;128 p->mode = Normal;
127 129
@@ -148,7 +150,7 @@ float tSampler_tick (tSampler* const p) · 20 unmodified lines
148 150
149 float* buff = p->samp->buff;151 float* buff = p->samp->buff;
150 152
151 int dir = p->dir * p->flip;153 int dir = p->bnf * p->dir * p->flip;
152 154
153 int idx;155 int idx;
154 float alpha;156 float alpha;
@@ -269,13 +271,18 @@ float tSampler_tick (tSampler* const p) · 114 unmodified lines
269 }271 }
270 else // == BackAndForth272 else // == BackAndForth
271 {273 {
272 if ((idx <= start) || (idx >= end))274 if (p->idx < start)
275 {
276 p->bnf = -p->bnf;
277 p->idx = start;
278 }
279 else if (p->idx > end)
273 {280 {
274 p->dir = -p->dir;281 p->bnf = -p->bnf;
275 p->idx += (p->dir * p->flip * p->inc);282 p->idx = end;
276 }283 }
277 }284 }
278 285
279 g1 = 1.f - g2;286 g1 = 1.f - g2;
280 287
281 sample = sample * g1 + cfxsample * g2;288 sample = sample * g1 + cfxsample * g2;
LEAF_JUCEPlugin/Source/MyTest.cpp+13−6
@@ -27,13 +27,11 @@ void LEAFTest_init (float sampleRate, int blockSize) · 26 unmodified lines
27 tBuffer_init(&sample, leaf.sampleRate * 2);27 tBuffer_init(&sample, leaf.sampleRate * 2);
28 28
29 tSampler_init(&player, &sample);29 tSampler_init(&player, &sample);
30 tSampler_setMode(&player, Loop);30 tSampler_setMode(&player, BackAndForth);
31 31
32 leaf_pool_report();32 leaf_pool_report();
33 33
34 tBuffer_record(&sample);34 tBuffer_record(&sample);
35
36 tSampler_play(&player);
37}35}
38 36
39int timer = 0;37int timer = 0;
@@ -45,7 +43,7 @@ float LEAFTest_tick (float input) · 5 unmodified lines
45 return tSampler_tick(&player);43 return tSampler_tick(&player);
46}44}
47 45
48bool lastState = false;46bool lastState = false, lastPlayState = false;
49void LEAFTest_block (void)47void LEAFTest_block (void)
50{48{
51 float val = getSliderValue("rate");49 float val = getSliderValue("rate");
@@ -77,7 +75,16 @@ void LEAFTest_block (void) · 25 unmodified lines
77 tBuffer_record(&sample);75 tBuffer_record(&sample);
78 }76 }
79 77
80 lastState = state;78 lastState = state;
79
80 state = getButtonState("play");
81
82 if (state && !lastPlayState)
83 {
84 tSampler_play(&player);
85 }
86
87 lastPlayState = state;
81}88}
82 89
83void LEAFTest_controllerInput (int cnum, float cval)90void LEAFTest_controllerInput (int cnum, float cval)

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