Temporary test update

This commit is contained in:
Paul Fd 2020-03-04 23:26:42 +01:00
parent d94cc35c53
commit 459656e3cc
3 changed files with 52 additions and 52 deletions

View file

@ -27,8 +27,8 @@ TEST_CASE("[MidiState] Set and get CCs")
{
sfz::MidiState state;
const auto& cc = state.getCCArray();
state.ccEvent(24, 23);
state.ccEvent(123, 124);
state.ccEvent(0, 24, 23);
state.ccEvent(0, 123, 124);
REQUIRE(state.getCCValue(24) == 23);
REQUIRE(cc[24] == 23);
REQUIRE(state.getCCValue(123) == 124);
@ -38,19 +38,19 @@ TEST_CASE("[MidiState] Set and get CCs")
TEST_CASE("[MidiState] Set and get pitch bends")
{
sfz::MidiState state;
state.pitchBendEvent(894);
state.pitchBendEvent(0, 894);
REQUIRE(state.getPitchBend() == 894);
state.pitchBendEvent(0);
state.pitchBendEvent(0, 0);
REQUIRE(state.getPitchBend() == 0);
}
TEST_CASE("[MidiState] Reset")
{
sfz::MidiState state;
state.pitchBendEvent(894);
state.noteOnEvent(64, 24);
state.ccEvent(123, 124);
state.reset();
state.pitchBendEvent(0, 894);
state.noteOnEvent(0, 64, 24);
state.ccEvent(0, 123, 124);
state.reset(0);
REQUIRE(state.getPitchBend() == 0);
REQUIRE(state.getNoteVelocity(64) == 0);
REQUIRE(state.getCCValue(123) == 0);
@ -59,9 +59,9 @@ TEST_CASE("[MidiState] Reset")
TEST_CASE("[MidiState] Set and get note velocities")
{
sfz::MidiState state;
state.noteOnEvent(64, 24);
state.noteOnEvent(0, 64, 24);
REQUIRE(+state.getNoteVelocity(64) == 24);
state.noteOnEvent(64, 123);
state.noteOnEvent(0, 64, 123);
REQUIRE(+state.getNoteVelocity(64) == 123);
}
@ -69,5 +69,5 @@ TEST_CASE("[MidiState] Extended CCs")
{
sfz::MidiState state;
REQUIRE(state.getCCArray().size() >= 142);
state.ccEvent(142, 64); // should not trap
state.ccEvent(0, 142, 64); // should not trap
}

View file

@ -135,15 +135,15 @@ TEST_CASE("Legato triggers", "Region triggers")
region.parseOpcode({ "lokey", "40" });
region.parseOpcode({ "hikey", "50" });
region.parseOpcode({ "trigger", "first" });
midiState.noteOnEvent(40, 64);
midiState.noteOnEvent(0, 40, 64);
REQUIRE(region.registerNoteOn(40, 64, 0.5f));
midiState.noteOnEvent(41, 64);
midiState.noteOnEvent(0, 41, 64);
REQUIRE(!region.registerNoteOn(41, 64, 0.5f));
midiState.noteOffEvent(40, 0);
midiState.noteOffEvent(0, 40, 0);
region.registerNoteOff(40, 0, 0.5f);
midiState.noteOffEvent(41, 0);
midiState.noteOffEvent(0, 41, 0);
region.registerNoteOff(41, 0, 0.5f);
midiState.noteOnEvent(42, 64);
midiState.noteOnEvent(0, 42, 64);
REQUIRE(region.registerNoteOn(42, 64, 0.5f));
}
@ -152,15 +152,15 @@ TEST_CASE("Legato triggers", "Region triggers")
region.parseOpcode({ "lokey", "40" });
region.parseOpcode({ "hikey", "50" });
region.parseOpcode({ "trigger", "legato" });
midiState.noteOnEvent(40, 64);
midiState.noteOnEvent(0, 40, 64);
REQUIRE(!region.registerNoteOn(40, 64, 0.5f));
midiState.noteOnEvent(41, 64);
midiState.noteOnEvent(0, 41, 64);
REQUIRE(region.registerNoteOn(41, 64, 0.5f));
midiState.noteOffEvent(40, 64);
midiState.noteOffEvent(0, 40, 64);
region.registerNoteOff(40, 0, 0.5f);
midiState.noteOffEvent(41, 64);
midiState.noteOffEvent(0, 41, 64);
region.registerNoteOff(41, 0, 0.5f);
midiState.noteOnEvent(42, 64);
midiState.noteOnEvent(0, 42, 64);
REQUIRE(!region.registerNoteOn(42, 64, 0.5f));
}
}

View file

@ -166,13 +166,13 @@ TEST_CASE("[Region] Crossfade in on CC")
region.parseOpcode({ "xfin_locc24", "20" });
region.parseOpcode({ "xfin_hicc24", "24" });
region.parseOpcode({ "amp_veltrack", "0" });
midiState.ccEvent(24, 19); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(24, 20); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(24, 21); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.5_a );
midiState.ccEvent(24, 22); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.70711_a );
midiState.ccEvent(24, 23); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.86603_a );
midiState.ccEvent(24, 24); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(24, 25); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(0, 24, 19); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(0, 24, 20); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(0, 24, 21); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.5_a );
midiState.ccEvent(0, 24, 22); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.70711_a );
midiState.ccEvent(0, 24, 23); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.86603_a );
midiState.ccEvent(0, 24, 24); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(0, 24, 25); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
}
TEST_CASE("[Region] Crossfade in on CC - gain")
@ -184,13 +184,13 @@ TEST_CASE("[Region] Crossfade in on CC - gain")
region.parseOpcode({ "xfin_hicc24", "24" });
region.parseOpcode({ "amp_veltrack", "0" });
region.parseOpcode({ "xf_cccurve", "gain" });
midiState.ccEvent(24, 19); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(24, 20); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(24, 21); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.25_a );
midiState.ccEvent(24, 22); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.5_a );
midiState.ccEvent(24, 23); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.75_a );
midiState.ccEvent(24, 24); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(24, 25); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(0, 24, 19); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(0, 24, 20); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(0, 24, 21); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.25_a );
midiState.ccEvent(0, 24, 22); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.5_a );
midiState.ccEvent(0, 24, 23); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.75_a );
midiState.ccEvent(0, 24, 24); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(0, 24, 25); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
}
TEST_CASE("[Region] Crossfade out on CC")
{
@ -200,13 +200,13 @@ TEST_CASE("[Region] Crossfade out on CC")
region.parseOpcode({ "xfout_locc24", "20" });
region.parseOpcode({ "xfout_hicc24", "24" });
region.parseOpcode({ "amp_veltrack", "0" });
midiState.ccEvent(24, 19); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(24, 20); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(24, 21); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.86603_a );
midiState.ccEvent(24, 22); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.70711_a );
midiState.ccEvent(24, 23); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.5_a );
midiState.ccEvent(24, 24); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(24, 25); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(0, 24, 19); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(0, 24, 20); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(0, 24, 21); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.86603_a );
midiState.ccEvent(0, 24, 22); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.70711_a );
midiState.ccEvent(0, 24, 23); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.5_a );
midiState.ccEvent(0, 24, 24); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(0, 24, 25); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
}
TEST_CASE("[Region] Crossfade out on CC - gain")
@ -218,13 +218,13 @@ TEST_CASE("[Region] Crossfade out on CC - gain")
region.parseOpcode({ "xfout_hicc24", "24" });
region.parseOpcode({ "amp_veltrack", "0" });
region.parseOpcode({ "xf_cccurve", "gain" });
midiState.ccEvent(24, 19); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(24, 20); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(24, 21); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.75_a );
midiState.ccEvent(24, 22); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.5_a );
midiState.ccEvent(24, 23); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.25_a );
midiState.ccEvent(24, 24); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(24, 25); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(0, 24, 19); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(0, 24, 20); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 1.0_a );
midiState.ccEvent(0, 24, 21); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.75_a );
midiState.ccEvent(0, 24, 22); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.5_a );
midiState.ccEvent(0, 24, 23); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.25_a );
midiState.ccEvent(0, 24, 24); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
midiState.ccEvent(0, 24, 25); REQUIRE( region.getCrossfadeGain(midiState.getCCArray()) == 0.0_a );
}
TEST_CASE("[Region] Velocity bug for extreme values - veltrack at 0")
@ -265,15 +265,15 @@ TEST_CASE("[Region] rt_decay")
region.parseOpcode({ "sample", "*sine" });
region.parseOpcode({ "trigger", "release" });
region.parseOpcode({ "rt_decay", "10" });
midiState.noteOnEvent(64, 64);
midiState.noteOnEvent(0, 64, 64);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
REQUIRE( region.getBaseVolumedB(64) == Approx(sfz::Default::volume - 1.0f).margin(0.1) );
region.parseOpcode({ "rt_decay", "20" });
midiState.noteOnEvent(64, 64);
midiState.noteOnEvent(0, 64, 64);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
REQUIRE( region.getBaseVolumedB(64) == Approx(sfz::Default::volume - 2.0f).margin(0.1) );
region.parseOpcode({ "trigger", "attack" });
midiState.noteOnEvent(64, 64);
midiState.noteOnEvent(0, 64, 64);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
REQUIRE( region.getBaseVolumedB(64) == Approx(sfz::Default::volume).margin(0.1) );
}