forked from LeenkxTeam/LNXSDK
Update Files
This commit is contained in:
67
lib/aura/Tests/auratests/dsp/TestFractionalDelayLine.hx
Normal file
67
lib/aura/Tests/auratests/dsp/TestFractionalDelayLine.hx
Normal file
@ -0,0 +1,67 @@
|
||||
package auratests.dsp;
|
||||
|
||||
import utest.Assert;
|
||||
|
||||
import aura.Aura;
|
||||
import aura.dsp.FractionalDelayLine;
|
||||
import aura.types.AudioBuffer;
|
||||
import aura.utils.TestSignals;
|
||||
|
||||
@:access(aura.dsp.FractionalDelayLine)
|
||||
class TestFractionalDelayLine extends utest.Test {
|
||||
var audioBuffer: AudioBuffer;
|
||||
var delayLine: FractionalDelayLine;
|
||||
|
||||
function setup() {
|
||||
audioBuffer = new AudioBuffer(2, 8);
|
||||
delayLine = new FractionalDelayLine(2, 8);
|
||||
}
|
||||
|
||||
function test_zeroDelayTime_noDelay() {
|
||||
TestSignals.fillUnitImpulse(audioBuffer.getChannelView(0));
|
||||
TestSignals.fillUnitImpulse(audioBuffer.getChannelView(1));
|
||||
|
||||
delayLine.at_setDelayLength(Left, 0.0);
|
||||
delayLine.at_setDelayLength(Right, 0.0);
|
||||
|
||||
delayLine.process(audioBuffer);
|
||||
|
||||
Assert.floatEquals(1.0, audioBuffer.getChannelView(0)[0]);
|
||||
Assert.floatEquals(0.0, audioBuffer.getChannelView(0)[1]);
|
||||
|
||||
Assert.floatEquals(1.0, audioBuffer.getChannelView(1)[0]);
|
||||
Assert.floatEquals(0.0, audioBuffer.getChannelView(1)[1]);
|
||||
}
|
||||
|
||||
function test_integralDelayTime_independentChannels() {
|
||||
TestSignals.fillUnitImpulse(audioBuffer.getChannelView(0));
|
||||
TestSignals.fillUnitImpulse(audioBuffer.getChannelView(1));
|
||||
|
||||
delayLine.at_setDelayLength(Left, 1.0);
|
||||
delayLine.at_setDelayLength(Right, 3.0);
|
||||
|
||||
delayLine.process(audioBuffer);
|
||||
|
||||
Assert.floatEquals(0.0, audioBuffer.getChannelView(0)[0]);
|
||||
Assert.floatEquals(1.0, audioBuffer.getChannelView(0)[1]);
|
||||
|
||||
Assert.floatEquals(0.0, audioBuffer.getChannelView(1)[0]);
|
||||
Assert.floatEquals(1.0, audioBuffer.getChannelView(1)[3]);
|
||||
}
|
||||
|
||||
function test_floatDelayTime_independentChannels() {
|
||||
TestSignals.fillUnitImpulse(audioBuffer.getChannelView(0));
|
||||
TestSignals.fillUnitImpulse(audioBuffer.getChannelView(1));
|
||||
|
||||
delayLine.at_setDelayLength(Left, 0.8);
|
||||
delayLine.at_setDelayLength(Right, 3.4);
|
||||
|
||||
delayLine.process(audioBuffer);
|
||||
|
||||
Assert.floatEquals(0.2, audioBuffer.getChannelView(0)[0]);
|
||||
Assert.floatEquals(0.8, audioBuffer.getChannelView(0)[1]);
|
||||
|
||||
Assert.floatEquals(0.6, audioBuffer.getChannelView(1)[3]);
|
||||
Assert.floatEquals(0.4, audioBuffer.getChannelView(1)[4]);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user