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 {
|
||||
//! unknown scope or other
|
||||
kOpcodeScopeGeneric,
|
||||
//! global scope
|
||||
kOpcodeScopeGlobal,
|
||||
//! control scope
|
||||
kOpcodeScopeControl,
|
||||
//! group scope
|
||||
kOpcodeScopeGroup,
|
||||
//! region scope
|
||||
kOpcodeScopeRegion,
|
||||
//! effect scope
|
||||
|
|
|
|||
|
|
@ -158,7 +158,9 @@ void sfz::Synth::clear()
|
|||
|
||||
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) {
|
||||
case hash("sw_default"):
|
||||
setValueFromOpcode(member, defaultSwitch, Default::keyRange);
|
||||
|
|
@ -176,7 +178,9 @@ void sfz::Synth::handleGroupOpcodes(const std::vector<Opcode>& members, const st
|
|||
absl::optional<unsigned> groupIdx;
|
||||
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) {
|
||||
case hash("group"):
|
||||
setValueFromOpcode(member, groupIdx, Default::groupRange);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue