Skip to content

Commit bd3040f

Browse files
author
Martin Klang
committed
align write/delay/read order with other delay processors, removed CrossFadingDelayProcessor::process(float), added docs.
1 parent 3e8da86 commit bd3040f

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

LibSource/DelayProcessor.h

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ class FractionalDelayProcessor : public SignalProcessor {
6464
buffer.clear();
6565
}
6666
float process(float input){
67-
buffer.write(input);
6867
buffer.setDelay(delay);
68+
buffer.write(input);
6969
return buffer.read();
7070
}
7171
/**
@@ -129,7 +129,10 @@ class FastFractionalDelayProcessor : public SignalProcessor {
129129
};
130130

131131
/**
132-
* Delay line signal processor that crossfades to smooth changes in delay time.
132+
* Delay line signal processor that crossfades to ensure smooth changes in delay time.
133+
* Cross fade time in samples is equal to one block size.
134+
* Delay time should be updated at block rate, before calling the block-based process() method.
135+
* Sample based processing should not be used with this class.
133136
*/
134137
class CrossFadingDelayProcessor : public SignalProcessor {
135138
protected:
@@ -147,13 +150,6 @@ class CrossFadingDelayProcessor : public SignalProcessor {
147150
void clear(){
148151
ringbuffer->clear();
149152
}
150-
float process(float input){
151-
ringbuffer->write(input);
152-
float sample = ringbuffer->read();
153-
ringbuffer->setDelay(delay);
154-
sample += ringbuffer->read();
155-
return sample*0.5;
156-
}
157153
void process(FloatArray input, FloatArray output){
158154
ringbuffer->delay(input, output, input.getSize(), delay);
159155
}

0 commit comments

Comments
 (0)