Pass all opcodes through cleanup, including <group> and <control>
This commit is contained in:
parent
b5548e85c0
commit
a29b72feb2
2 changed files with 10 additions and 2 deletions
|
|
@ -42,8 +42,12 @@ enum OpcodeCategory {
|
||||||
enum OpcodeScope {
|
enum OpcodeScope {
|
||||||
//! unknown scope or other
|
//! unknown scope or other
|
||||||
kOpcodeScopeGeneric,
|
kOpcodeScopeGeneric,
|
||||||
|
//! global scope
|
||||||
|
kOpcodeScopeGlobal,
|
||||||
//! control scope
|
//! control scope
|
||||||
kOpcodeScopeControl,
|
kOpcodeScopeControl,
|
||||||
|
//! group scope
|
||||||
|
kOpcodeScopeGroup,
|
||||||
//! region scope
|
//! region scope
|
||||||
kOpcodeScopeRegion,
|
kOpcodeScopeRegion,
|
||||||
//! effect scope
|
//! effect scope
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,9 @@ void sfz::Synth::clear()
|
||||||
|
|
||||||
void sfz::Synth::handleGlobalOpcodes(const std::vector<Opcode>& members)
|
void sfz::Synth::handleGlobalOpcodes(const std::vector<Opcode>& members)
|
||||||
{
|
{
|
||||||
for (auto& member : members) {
|
for (auto& rawMember : members) {
|
||||||
|
const Opcode member = rawMember.cleanUp(kOpcodeScopeGlobal);
|
||||||
|
|
||||||
switch (member.lettersOnlyHash) {
|
switch (member.lettersOnlyHash) {
|
||||||
case hash("sw_default"):
|
case hash("sw_default"):
|
||||||
setValueFromOpcode(member, defaultSwitch, Default::keyRange);
|
setValueFromOpcode(member, defaultSwitch, Default::keyRange);
|
||||||
|
|
@ -176,7 +178,9 @@ void sfz::Synth::handleGroupOpcodes(const std::vector<Opcode>& members, const st
|
||||||
absl::optional<unsigned> groupIdx;
|
absl::optional<unsigned> groupIdx;
|
||||||
unsigned maxPolyphony { config::maxVoices };
|
unsigned maxPolyphony { config::maxVoices };
|
||||||
|
|
||||||
const auto parseOpcode = [&](const Opcode& member) {
|
const auto parseOpcode = [&](const Opcode& rawMember) {
|
||||||
|
const Opcode member = rawMember.cleanUp(kOpcodeScopeGroup);
|
||||||
|
|
||||||
switch (member.lettersOnlyHash) {
|
switch (member.lettersOnlyHash) {
|
||||||
case hash("group"):
|
case hash("group"):
|
||||||
setValueFromOpcode(member, groupIdx, Default::groupRange);
|
setValueFromOpcode(member, groupIdx, Default::groupRange);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue