Fill gaps on opcodes related to vel and AT triggers
This commit is contained in:
parent
c1d492ad03
commit
5fd5a5a808
4 changed files with 36 additions and 36 deletions
|
|
@ -50,18 +50,18 @@ UInt8Spec loKey { 0, {0, 127}, kCanBeNote };
|
|||
UInt8Spec hiKey { 127, {0, 127}, kCanBeNote };
|
||||
FloatSpec loCC { 0, {0.0f, 127.0f}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec hiCC { 127, {0.0f, 127.0f}, kNormalizeMidi|kFillGap|kPermissiveBounds };
|
||||
FloatSpec xfoutLoCC { 127.0f, {0.0f, 127.0f}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec xfoutHiCC { 127.0f, {0.0f, 127.0f}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec xfinLoCC { 0.0f, {0.0f, 127.0f}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec xfinHiCC { 0.0f, {0.0f, 127.0f}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec xfoutLo { 127.0f, {0.0f, 127.0f}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec xfoutHi { 127.0f, {0.0f, 127.0f}, kNormalizeMidi|kFillGap|kPermissiveBounds };
|
||||
FloatSpec xfinLo { 0.0f, {0.0f, 127.0f}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec xfinHi { 0.0f, {0.0f, 127.0f}, kNormalizeMidi|kFillGap|kPermissiveBounds };
|
||||
FloatSpec loVel { 0, {0.0f, 127.0f}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec hiVel { 127, {0.0f, 127.0f}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec hiVel { 127, {0.0f, 127.0f}, kNormalizeMidi|kFillGap|kPermissiveBounds };
|
||||
FloatSpec loChannelAftertouch { 0, {0, 127}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec hiChannelAftertouch { 127, {0, 127}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec hiChannelAftertouch { 127, {0, 127}, kNormalizeMidi|kFillGap|kPermissiveBounds };
|
||||
FloatSpec loPolyAftertouch { 0, {0, 127}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec hiPolyAftertouch { 127, {0, 127}, kNormalizeMidi|kPermissiveBounds };
|
||||
FloatSpec hiPolyAftertouch { 127, {0, 127}, kNormalizeMidi|kFillGap|kPermissiveBounds };
|
||||
FloatSpec loBend { -8191, {-8192.0f, 8191.0f}, kNormalizeBend|kPermissiveBounds };
|
||||
FloatSpec hiBend { 8191, {-8192.0f, 8191.0f}, kNormalizeBend|kPermissiveBounds };
|
||||
FloatSpec hiBend { 8191, {-8192.0f, 8191.0f}, kNormalizeBend|kFillGap|kPermissiveBounds };
|
||||
FloatSpec loNormalized { 0.0f, {0.0f, 1.0f}, kPermissiveBounds };
|
||||
FloatSpec hiNormalized { 1.0f, {0.0f, 1.0f}, kPermissiveBounds };
|
||||
FloatSpec loBipolar { -1.0f, {-1.0f, 1.0f}, kPermissiveBounds };
|
||||
|
|
|
|||
|
|
@ -164,10 +164,10 @@ namespace Default
|
|||
extern const OpcodeSpec<float> hiVel;
|
||||
extern const OpcodeSpec<float> loCC;
|
||||
extern const OpcodeSpec<float> hiCC;
|
||||
extern const OpcodeSpec<float> xfoutLoCC;
|
||||
extern const OpcodeSpec<float> xfoutHiCC;
|
||||
extern const OpcodeSpec<float> xfinHiCC;
|
||||
extern const OpcodeSpec<float> xfinLoCC;
|
||||
extern const OpcodeSpec<float> xfoutLo;
|
||||
extern const OpcodeSpec<float> xfoutHi;
|
||||
extern const OpcodeSpec<float> xfinHi;
|
||||
extern const OpcodeSpec<float> xfinLo;
|
||||
extern const OpcodeSpec<float> loBend;
|
||||
extern const OpcodeSpec<float> hiBend;
|
||||
extern const OpcodeSpec<float> loNormalized;
|
||||
|
|
|
|||
|
|
@ -474,16 +474,16 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode, bool cleanOpcode)
|
|||
crossfadeKeyOutRange.setEnd(opcode.read(Default::hiKey));
|
||||
break;
|
||||
case hash("xfin_lovel"):
|
||||
crossfadeVelInRange.setStart(opcode.read(Default::loVel));
|
||||
crossfadeVelInRange.setStart(opcode.read(Default::xfinLo));
|
||||
break;
|
||||
case hash("xfin_hivel"):
|
||||
crossfadeVelInRange.setEnd(opcode.read(Default::loVel)); // loVel for the proper default
|
||||
crossfadeVelInRange.setEnd(opcode.read(Default::xfinHi));
|
||||
break;
|
||||
case hash("xfout_lovel"):
|
||||
crossfadeVelOutRange.setStart(opcode.read(Default::hiVel)); // hiVel for the proper default
|
||||
crossfadeVelOutRange.setStart(opcode.read(Default::xfoutLo));
|
||||
break;
|
||||
case hash("xfout_hivel"):
|
||||
crossfadeVelOutRange.setEnd(opcode.read(Default::hiVel));
|
||||
crossfadeVelOutRange.setEnd(opcode.read(Default::xfoutHi));
|
||||
break;
|
||||
case hash("xf_keycurve"):
|
||||
crossfadeKeyCurve = opcode.read(Default::crossfadeCurve);
|
||||
|
|
@ -495,28 +495,28 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode, bool cleanOpcode)
|
|||
if (opcode.parameters.back() >= config::numCCs)
|
||||
return false;
|
||||
crossfadeCCInRange[opcode.parameters.back()].setStart(
|
||||
opcode.read(Default::xfinLoCC)
|
||||
opcode.read(Default::xfinLo)
|
||||
);
|
||||
break;
|
||||
case hash("xfin_hicc&"):
|
||||
if (opcode.parameters.back() >= config::numCCs)
|
||||
return false;
|
||||
crossfadeCCInRange[opcode.parameters.back()].setEnd(
|
||||
opcode.read(Default::xfinHiCC)
|
||||
opcode.read(Default::xfinHi)
|
||||
);
|
||||
break;
|
||||
case hash("xfout_locc&"):
|
||||
if (opcode.parameters.back() >= config::numCCs)
|
||||
return false;
|
||||
crossfadeCCOutRange[opcode.parameters.back()].setStart(
|
||||
opcode.read(Default::xfoutLoCC)
|
||||
opcode.read(Default::xfoutLo)
|
||||
);
|
||||
break;
|
||||
case hash("xfout_hicc&"):
|
||||
if (opcode.parameters.back() >= config::numCCs)
|
||||
return false;
|
||||
crossfadeCCOutRange[opcode.parameters.back()].setEnd(
|
||||
opcode.read(Default::xfoutHiCC)
|
||||
opcode.read(Default::xfoutHi)
|
||||
);
|
||||
break;
|
||||
case hash("xf_cccurve"):
|
||||
|
|
|
|||
|
|
@ -599,8 +599,8 @@ TEST_CASE("[Values] Velocity range")
|
|||
synth.dispatchMessage(client, 0, "/region3/vel_range", "", nullptr);
|
||||
std::vector<std::string> expected {
|
||||
"/region0/vel_range,ff : { 0, 1 }",
|
||||
"/region1/vel_range,ff : { 0.267717, 0.472441 }",
|
||||
"/region2/vel_range,ff : { -0.023622, 0.472441 }",
|
||||
"/region1/vel_range,ff : { 0.267717, 0.480315 }",
|
||||
"/region2/vel_range,ff : { -0.023622, 0.480315 }",
|
||||
"/region3/vel_range,ff : { 0, -0.00787402 }",
|
||||
};
|
||||
REQUIRE(messageList == expected);
|
||||
|
|
@ -914,10 +914,10 @@ TEST_CASE("[Values] Aftertouch range")
|
|||
synth.dispatchMessage(client, 0, "/region4/chanaft_range", "", nullptr);
|
||||
std::vector<std::string> expected {
|
||||
"/region0/chanaft_range,ff : { 0, 1 }",
|
||||
"/region1/chanaft_range,ff : { 0.267717, 0.472441 }",
|
||||
"/region2/chanaft_range,ff : { -0.023622, 0.472441 }",
|
||||
"/region1/chanaft_range,ff : { 0.267717, 0.480315 }",
|
||||
"/region2/chanaft_range,ff : { -0.023622, 0.480315 }",
|
||||
"/region3/chanaft_range,ff : { 0.15748, -0.00787402 }",
|
||||
"/region4/chanaft_range,ff : { 0.15748, 0.0787402 }",
|
||||
"/region4/chanaft_range,ff : { 0.15748, 0.0866142 }",
|
||||
};
|
||||
REQUIRE(messageList == expected);
|
||||
}
|
||||
|
|
@ -942,10 +942,10 @@ TEST_CASE("[Values] Polyaftertouch range")
|
|||
synth.dispatchMessage(client, 0, "/region4/polyaft_range", "", nullptr);
|
||||
std::vector<std::string> expected {
|
||||
"/region0/polyaft_range,ff : { 0, 1 }",
|
||||
"/region1/polyaft_range,ff : { 0.267717, 0.472441 }",
|
||||
"/region2/polyaft_range,ff : { -0.023622, 0.472441 }",
|
||||
"/region1/polyaft_range,ff : { 0.267717, 0.480315 }",
|
||||
"/region2/polyaft_range,ff : { -0.023622, 0.480315 }",
|
||||
"/region3/polyaft_range,ff : { 0.15748, -0.00787402 }",
|
||||
"/region4/polyaft_range,ff : { 0.15748, 0.0787402 }",
|
||||
"/region4/polyaft_range,ff : { 0.15748, 0.0866142 }",
|
||||
};
|
||||
REQUIRE(messageList == expected);
|
||||
}
|
||||
|
|
@ -1747,8 +1747,8 @@ TEST_CASE("[Values] Crossfade velocity range")
|
|||
synth.dispatchMessage(client, 0, "/region3/xfin_vel_range", "", nullptr);
|
||||
std::vector<std::string> expected {
|
||||
"/region0/xfin_vel_range,ff : { 0, 0 }",
|
||||
"/region1/xfin_vel_range,ff : { 0.0787402, 0.314961 }",
|
||||
"/region2/xfin_vel_range,ff : { -0.0787402, 0.314961 }",
|
||||
"/region1/xfin_vel_range,ff : { 0.0787402, 0.322835 }",
|
||||
"/region2/xfin_vel_range,ff : { -0.0787402, 0.322835 }",
|
||||
"/region3/xfin_vel_range,ff : { 0.0787402, 1.10236 }",
|
||||
};
|
||||
REQUIRE(messageList == expected);
|
||||
|
|
@ -1768,8 +1768,8 @@ TEST_CASE("[Values] Crossfade velocity range")
|
|||
synth.dispatchMessage(client, 0, "/region3/xfout_vel_range", "", nullptr);
|
||||
std::vector<std::string> expected {
|
||||
"/region0/xfout_vel_range,ff : { 1, 1 }",
|
||||
"/region1/xfout_vel_range,ff : { 0.0787402, 0.314961 }",
|
||||
"/region2/xfout_vel_range,ff : { -0.0787402, 0.314961 }",
|
||||
"/region1/xfout_vel_range,ff : { 0.0787402, 0.322835 }",
|
||||
"/region2/xfout_vel_range,ff : { -0.0787402, 0.322835 }",
|
||||
"/region3/xfout_vel_range,ff : { 0.0787402, 1.10236 }",
|
||||
};
|
||||
REQUIRE(messageList == expected);
|
||||
|
|
@ -1868,8 +1868,8 @@ TEST_CASE("[Values] Crossfade CC range")
|
|||
synth.dispatchMessage(client, 0, "/region3/xfin_cc_range4", "", nullptr);
|
||||
std::vector<std::string> expected {
|
||||
"/region0/xfin_cc_range4,N : { }",
|
||||
"/region1/xfin_cc_range4,ff : { 0.0787402, 0.314961 }",
|
||||
"/region2/xfin_cc_range4,ff : { -0.0787402, 0.314961 }",
|
||||
"/region1/xfin_cc_range4,ff : { 0.0787402, 0.322835 }",
|
||||
"/region2/xfin_cc_range4,ff : { -0.0787402, 0.322835 }",
|
||||
"/region3/xfin_cc_range4,ff : { 0.0787402, 1.10236 }",
|
||||
};
|
||||
REQUIRE(messageList == expected);
|
||||
|
|
@ -1889,8 +1889,8 @@ TEST_CASE("[Values] Crossfade CC range")
|
|||
synth.dispatchMessage(client, 0, "/region3/xfout_cc_range4", "", nullptr);
|
||||
std::vector<std::string> expected {
|
||||
"/region0/xfout_cc_range4,N : { }",
|
||||
"/region1/xfout_cc_range4,ff : { 0.0787402, 0.314961 }",
|
||||
"/region2/xfout_cc_range4,ff : { -0.0787402, 0.314961 }",
|
||||
"/region1/xfout_cc_range4,ff : { 0.0787402, 0.322835 }",
|
||||
"/region2/xfout_cc_range4,ff : { -0.0787402, 0.322835 }",
|
||||
"/region3/xfout_cc_range4,ff : { 0.0787402, 1.10236 }",
|
||||
};
|
||||
REQUIRE(messageList == expected);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue