View difference between Paste ID: CpkvDabH and VP4ENN8w
SHOW: | | - or go back to the newest paste.
1
counter_t increment=42;
2
counter_t threshold=9001;
3
counter_t counter=0;
4-
sample_t curSample=0;
4+
sample_t curSample=0,nextSample=0;
5
6-
sample_t dropDoubleInterpolateNextSample() {
6+
sample_t linearInterpolateNextSample() {
7
	counter+=increment;
8
	while(counter>threshold) {
9
		counter-=threshold;
10-
		curSample=readNextSample();
10+
		curSample=nextSample;
11
		nextSample=readNextSample();
12-
	return curSample;
12+
13
14
	//can be optimized using fixed point math
15
	//and fast division by shifting
16
	float t=counter/threshold;
17
18
	//lerp between the two samples
19
	return curSample*(1-t)+nextSample*(t);
20
}