forked from PaulStoffregen/Audio
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy patheffect_sh.cpp
More file actions
106 lines (71 loc) · 1.69 KB
/
effect_sh.cpp
File metadata and controls
106 lines (71 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include "effect_sh.h"
void AudioEffectSH::update(void){
audio_block_t *blocka,*blockb;
int16_t *pa,*pb,*end;
static uint32_t prev_sh;
static int16_t paudio_in0,paudio_in1,ccnt0,ccnt1,audio_in0,audio_out0,audio_out1,audio_out_c,mod_in;
float step = 1/2^(16);
static uint32_t accumulator0;
static int16_t last,hey;
blocka = receiveWritable(0);
blockb = receiveReadOnly(1);
if (!blocka) {
return;
}
pa = (int16_t *)(blocka->data);
pb = (int16_t *)(blockb->data);
end = (pa + AUDIO_BLOCK_SAMPLES);
while (pa < end) {
paudio_in0=audio_out_c;
audio_in0 = *pa;
if (blockb) {
mod_in= *pb++;
}
if (!blockb) {
mod_in= -1;
}
//uint32_t increment0=rate_reduction_amt;
//if (smooth_en==1){
accumulator0 += rate_reduction_amt;
if (accumulator0 > 65535){
accumulator0 -= 65535;
audio_out_c=audio_in0;
}
else {
audio_out_c = paudio_in0;
}
/*
}
if (smooth_en==0){
ccnt0++;
if (ccnt0 >= rate_reduction_amt){
ccnt0=0;
audio_out_c = audio_in0;
}
else {
audio_out_c = paudio_in0;
}
}
if (manual_hold_en==1 || mod_in>=1){
audio_out_c = paudio_in0;
}
*/
*pa++ = audio_out_c;
/*
if (millis() - prev_sh>150){
prev_sh=millis();
Serial.println(hey);
Serial.println(rate_reduction_amt);
Serial.println(mod_in);
Serial.println();
}
*/
// *pa++ = t1;
}
transmit(blocka);
release(blocka);
if (blockb)
{
release(blockb);
}
}