diff --git a/src/sfizz/OpcodeCleanup.cpp b/src/sfizz/OpcodeCleanup.cpp index d61d8933..28c4aad8 100644 --- a/src/sfizz/OpcodeCleanup.cpp +++ b/src/sfizz/OpcodeCleanup.cpp @@ -1,4 +1,4 @@ -/* Generated by re2c 2.0.3 on Thu Nov 12 10:20:58 2020 */ +/* Generated by re2c 2.0.3 on Sat Dec 12 13:32:03 2020 */ #line 1 "src/sfizz/OpcodeCleanup.re" /* -*- mode: c++; -*- */ // SPDX-License-Identifier: BSD-2-Clause @@ -219,7 +219,7 @@ end_region_oncc: yy19: ++YYCURSOR; yy20: -#line 187 "src/sfizz/OpcodeCleanup.re" +#line 195 "src/sfizz/OpcodeCleanup.re" { goto end_region; } @@ -620,6 +620,7 @@ yy73: case 'g': yyt2 = YYCURSOR; goto yy101; + case 'v': goto yy102; default: goto yy34; } yy74: @@ -635,17 +636,17 @@ yy74: case '7': case '8': case '9': goto yy74; - case 't': goto yy102; + case 't': goto yy103; default: goto yy34; } yy76: yych = *++YYCURSOR; yyt1 = YYCURSOR; - goto yy106; + goto yy107; yy77: yych = *++YYCURSOR; switch (yych) { - case 'y': goto yy107; + case 'y': goto yy108; default: goto yy34; } yy78: @@ -653,16 +654,16 @@ yy78: switch (yych) { case 0x00: yyt2 = yyt3 = NULL; - goto yy108; + goto yy109; case '_': yyt3 = YYCURSOR; - goto yy110; + goto yy111; default: goto yy34; } yy79: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy111; + case 'a': goto yy112; default: goto yy34; } yy80: @@ -678,7 +679,7 @@ yy80: case '7': case '8': case '9': goto yy80; - case '_': goto yy112; + case '_': goto yy113; default: goto yy34; } yy82: @@ -686,37 +687,37 @@ yy82: switch (yych) { case 'e': yyt1 = YYCURSOR; - goto yy113; + goto yy114; case 'm': yyt1 = YYCURSOR; - goto yy114; + goto yy115; case 's': yyt1 = YYCURSOR; - goto yy115; + goto yy116; default: goto yy34; } yy83: yych = *++YYCURSOR; switch (yych) { - case 'y': goto yy116; + case 'y': goto yy117; default: goto yy34; } yy84: yych = *++YYCURSOR; switch (yych) { - case 'o': goto yy117; + case 'o': goto yy118; default: goto yy34; } yy85: yych = *++YYCURSOR; switch (yych) { - case 'i': goto yy118; + case 'i': goto yy119; default: goto yy34; } yy86: yych = *++YYCURSOR; switch (yych) { - case 'o': goto yy118; + case 'o': goto yy119; default: goto yy34; } yy87: @@ -728,13 +729,13 @@ yy87: yy88: yych = *++YYCURSOR; switch (yych) { - case 'p': goto yy119; + case 'p': goto yy120; default: goto yy34; } yy89: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy120; + case 'n': goto yy121; default: goto yy34; } yy90: @@ -742,268 +743,275 @@ yy90: switch (yych) { case 0x00: yyt2 = yyt3 = NULL; - goto yy121; + goto yy122; case '_': yyt3 = YYCURSOR; - goto yy123; + goto yy124; default: goto yy34; } yy91: yych = *++YYCURSOR; switch (yych) { - case '_': goto yy125; + case '_': goto yy126; default: goto yy34; } yy92: yych = *++YYCURSOR; switch (yych) { - case 'o': goto yy126; + case 'o': goto yy127; default: goto yy34; } yy93: yych = *++YYCURSOR; switch (yych) { - case 'o': goto yy127; + case 'o': goto yy128; default: goto yy34; } yy94: yych = *++YYCURSOR; switch (yych) { - case 't': goto yy128; + case 't': goto yy129; default: goto yy34; } yy95: yych = *++YYCURSOR; switch (yych) { - case 'p': goto yy129; + case 'p': goto yy130; default: goto yy34; } yy96: yych = *++YYCURSOR; switch (yych) { - case 'f': goto yy130; + case 'f': goto yy131; default: goto yy34; } yy97: yych = *++YYCURSOR; switch (yych) { - case 'u': goto yy131; + case 'u': goto yy132; default: goto yy34; } yy98: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy132; + case 'e': goto yy133; default: goto yy34; } yy99: yych = *++YYCURSOR; switch (yych) { - case 'w': goto yy133; + case 'w': goto yy134; default: goto yy34; } yy100: yych = *++YYCURSOR; switch (yych) { - case 'r': goto yy134; + case 'r': goto yy135; default: goto yy34; } yy101: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy135; + case 'a': goto yy136; default: goto yy34; } yy102: yych = *++YYCURSOR; switch (yych) { - case 'y': goto yy136; + case 'e': goto yy137; default: goto yy34; } yy103: + yych = *++YYCURSOR; + switch (yych) { + case 'y': goto yy138; + default: goto yy34; + } +yy104: ++YYCURSOR; yynmatch = 2; yypmatch[2] = yyt1; yypmatch[0] = yyt1 - 4; yypmatch[1] = YYCURSOR; yypmatch[3] = YYCURSOR - 1; -#line 169 "src/sfizz/OpcodeCleanup.re" +#line 177 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat("fil1_", group(1)); goto end_region; } -#line 836 "src/sfizz/OpcodeCleanup.cpp" -yy105: - yych = *++YYCURSOR; +#line 843 "src/sfizz/OpcodeCleanup.cpp" yy106: - if (yych <= 0x00) goto yy103; - goto yy105; + yych = *++YYCURSOR; yy107: + if (yych <= 0x00) goto yy104; + goto yy106; +yy108: yych = *++YYCURSOR; switch (yych) { - case 'p': goto yy137; + case 'p': goto yy139; default: goto yy34; } -yy108: +yy109: ++YYCURSOR; yynmatch = 2; yypmatch[0] = yyt1; yypmatch[2] = yyt3; yypmatch[3] = yyt2; yypmatch[1] = YYCURSOR; -#line 146 "src/sfizz/OpcodeCleanup.re" +#line 154 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat("volume", group(1)); goto end_region; } -#line 860 "src/sfizz/OpcodeCleanup.cpp" -yy110: - yych = *++YYCURSOR; - switch (yych) { - case 'r': goto yy140; - default: goto yy139; - } +#line 867 "src/sfizz/OpcodeCleanup.cpp" yy111: yych = *++YYCURSOR; switch (yych) { - case 'l': goto yy141; - default: goto yy34; + case 'r': goto yy142; + default: goto yy141; } yy112: yych = *++YYCURSOR; switch (yych) { - case 'c': - yyt2 = YYCURSOR; - goto yy142; - case 'o': - yyt2 = YYCURSOR; - goto yy143; - case 'r': - yyt2 = YYCURSOR; - goto yy144; - case 's': - yyt2 = YYCURSOR; - goto yy145; - case 'w': - yyt2 = YYCURSOR; - goto yy146; + case 'l': goto yy143; default: goto yy34; } yy113: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy147; + case 'c': + yyt2 = YYCURSOR; + goto yy144; + case 'o': + yyt2 = YYCURSOR; + goto yy145; + case 'r': + yyt2 = YYCURSOR; + goto yy146; + case 's': + yyt2 = YYCURSOR; + goto yy147; + case 'w': + yyt2 = YYCURSOR; + goto yy148; default: goto yy34; } yy114: yych = *++YYCURSOR; switch (yych) { - case 'o': goto yy148; + case 'n': goto yy149; default: goto yy34; } yy115: yych = *++YYCURSOR; switch (yych) { - case 't': goto yy149; + case 'o': goto yy150; default: goto yy34; } yy116: - yych = *++YYCURSOR; - if (yych <= 0x00) goto yy150; - goto yy34; -yy117: yych = *++YYCURSOR; switch (yych) { - case 'd': goto yy152; + case 't': goto yy151; default: goto yy34; } +yy117: + yych = *++YYCURSOR; + if (yych <= 0x00) goto yy152; + goto yy34; yy118: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy153; - case 'h': goto yy154; + case 'd': goto yy154; default: goto yy34; } yy119: yych = *++YYCURSOR; switch (yych) { - case 'h': goto yy155; + case 'c': goto yy155; + case 'h': goto yy156; default: goto yy34; } yy120: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy156; + case 'h': goto yy157; default: goto yy34; } yy121: + yych = *++YYCURSOR; + switch (yych) { + case 'a': goto yy158; + default: goto yy34; + } +yy122: ++YYCURSOR; yynmatch = 2; yypmatch[0] = yyt1; yypmatch[2] = yyt3; yypmatch[3] = yyt2; yypmatch[1] = YYCURSOR; -#line 150 "src/sfizz/OpcodeCleanup.re" +#line 158 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat("pitch", group(1)); goto end_region; } -#line 952 "src/sfizz/OpcodeCleanup.cpp" -yy123: +#line 959 "src/sfizz/OpcodeCleanup.cpp" +yy124: yych = *++YYCURSOR; if (yych <= 0x00) { yyt2 = YYCURSOR; - goto yy121; + goto yy122; } - goto yy123; -yy125: + goto yy124; +yy126: yych = *++YYCURSOR; switch (yych) { case 'a': yyt2 = YYCURSOR; - goto yy157; + goto yy159; case 'd': yyt2 = YYCURSOR; - goto yy158; + goto yy160; case 'h': yyt2 = YYCURSOR; - goto yy159; + goto yy161; case 'r': yyt2 = YYCURSOR; - goto yy160; + goto yy162; case 's': yyt2 = YYCURSOR; - goto yy161; - default: goto yy34; - } -yy126: - yych = *++YYCURSOR; - switch (yych) { - case '_': goto yy162; + goto yy163; + case 'v': goto yy164; default: goto yy34; } yy127: yych = *++YYCURSOR; switch (yych) { - case 'w': goto yy163; + case '_': goto yy165; default: goto yy34; } yy128: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy95; + case 'w': goto yy166; default: goto yy34; } yy129: yych = *++YYCURSOR; - if (yych <= 0x00) goto yy164; - goto yy34; + switch (yych) { + case 'e': goto yy95; + default: goto yy34; + } yy130: + yych = *++YYCURSOR; + if (yych <= 0x00) goto yy167; + goto yy34; +yy131: yych = *++YYCURSOR; switch (yych) { case 0x00: yyt2 = yyt3 = NULL; - goto yy166; + goto yy169; case '0': case '1': case '2': @@ -1015,242 +1023,254 @@ yy130: case '8': case '9': yyt2 = YYCURSOR; - goto yy168; + goto yy171; case '_': yyt2 = yyt4 = NULL; yyt3 = YYCURSOR; - goto yy170; - default: goto yy34; - } -yy131: - yych = *++YYCURSOR; - switch (yych) { - case 't': goto yy171; + goto yy173; default: goto yy34; } yy132: yych = *++YYCURSOR; switch (yych) { - case 's': goto yy172; + case 't': goto yy174; default: goto yy34; } yy133: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy173; + case 's': goto yy175; default: goto yy34; } yy134: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy174; + case 'c': goto yy176; default: goto yy34; } yy135: yych = *++YYCURSOR; switch (yych) { - case 'i': goto yy175; + case 'e': goto yy177; default: goto yy34; } yy136: yych = *++YYCURSOR; switch (yych) { - case 'p': goto yy176; + case 'i': goto yy178; default: goto yy34; } yy137: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy177; + case 'l': goto yy179; default: goto yy34; } yy138: yych = *++YYCURSOR; -yy139: - if (yych <= 0x00) { - yyt2 = YYCURSOR; - goto yy108; - } - goto yy138; -yy140: - yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy178; - default: goto yy139; - } -yy141: - yych = *++YYCURSOR; - switch (yych) { - case 'c': goto yy179; + case 'p': goto yy180; default: goto yy34; } +yy139: + yych = *++YYCURSOR; + switch (yych) { + case 'e': goto yy181; + default: goto yy34; + } +yy140: + yych = *++YYCURSOR; +yy141: + if (yych <= 0x00) { + yyt2 = YYCURSOR; + goto yy109; + } + goto yy140; yy142: yych = *++YYCURSOR; switch (yych) { - case 'u': goto yy180; - default: goto yy34; + case 'a': goto yy182; + default: goto yy141; } yy143: yych = *++YYCURSOR; switch (yych) { - case 'f': goto yy181; + case 'c': goto yy183; default: goto yy34; } yy144: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy182; - case 'e': goto yy183; + case 'u': goto yy184; default: goto yy34; } yy145: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy184; + case 'f': goto yy185; default: goto yy34; } yy146: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy185; + case 'a': goto yy186; + case 'e': goto yy187; default: goto yy34; } yy147: yych = *++YYCURSOR; switch (yych) { - case 'd': goto yy186; + case 'c': goto yy188; default: goto yy34; } yy148: yych = *++YYCURSOR; switch (yych) { - case 'd': goto yy187; + case 'a': goto yy189; default: goto yy34; } yy149: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy188; + case 'd': goto yy190; default: goto yy34; } yy150: + yych = *++YYCURSOR; + switch (yych) { + case 'd': goto yy191; + default: goto yy34; + } +yy151: + yych = *++YYCURSOR; + switch (yych) { + case 'a': goto yy192; + default: goto yy34; + } +yy152: ++YYCURSOR; yynmatch = 2; yypmatch[2] = yyt1; yypmatch[0] = yyt1 - 3; yypmatch[1] = YYCURSOR; yypmatch[3] = YYCURSOR - 1; -#line 119 "src/sfizz/OpcodeCleanup.re" +#line 127 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat("off_", group(1)); goto end_region; } -#line 1149 "src/sfizz/OpcodeCleanup.cpp" -yy152: - yych = *++YYCURSOR; - switch (yych) { - case 'e': goto yy116; - default: goto yy34; - } -yy153: - yych = *++YYCURSOR; - switch (yych) { - case 'c': goto yy189; - default: goto yy34; - } +#line 1163 "src/sfizz/OpcodeCleanup.cpp" yy154: yych = *++YYCURSOR; switch (yych) { - case 'd': goto yy190; + case 'e': goto yy117; default: goto yy34; } yy155: yych = *++YYCURSOR; switch (yych) { - case 'o': goto yy191; + case 'c': goto yy193; default: goto yy34; } yy156: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy192; + case 'd': goto yy194; default: goto yy34; } yy157: yych = *++YYCURSOR; switch (yych) { - case 't': goto yy193; + case 'o': goto yy195; default: goto yy34; } yy158: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy194; + case 'n': goto yy196; default: goto yy34; } yy159: yych = *++YYCURSOR; switch (yych) { - case 'o': goto yy195; + case 't': goto yy197; default: goto yy34; } yy160: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy196; + case 'e': goto yy198; default: goto yy34; } yy161: yych = *++YYCURSOR; switch (yych) { - case 't': goto yy197; - case 'u': goto yy198; + case 'o': goto yy199; default: goto yy34; } yy162: yych = *++YYCURSOR; switch (yych) { - case 'd': - yyt2 = YYCURSOR; - goto yy199; - case 'f': - yyt2 = YYCURSOR; - goto yy200; + case 'e': goto yy200; default: goto yy34; } yy163: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy129; + case 't': goto yy201; + case 'u': goto yy202; default: goto yy34; } yy164: + yych = *++YYCURSOR; + switch (yych) { + case 'e': goto yy203; + default: goto yy34; + } +yy165: + yych = *++YYCURSOR; + switch (yych) { + case 'd': + yyt2 = YYCURSOR; + goto yy204; + case 'f': + yyt2 = YYCURSOR; + goto yy205; + default: goto yy34; + } +yy166: + yych = *++YYCURSOR; + switch (yych) { + case 'n': goto yy130; + default: goto yy34; + } +yy167: ++YYCURSOR; yynmatch = 2; yypmatch[2] = yyt1; yypmatch[0] = yyt1 - 4; yypmatch[1] = YYCURSOR; yypmatch[3] = YYCURSOR - 1; -#line 123 "src/sfizz/OpcodeCleanup.re" +#line 131 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat("bend_", group(1)); goto end_region; } -#line 1240 "src/sfizz/OpcodeCleanup.cpp" -yy166: +#line 1260 "src/sfizz/OpcodeCleanup.cpp" +yy169: ++YYCURSOR; yynmatch = 2; yypmatch[0] = yyt1; yypmatch[2] = yyt3; yypmatch[3] = yyt2; yypmatch[1] = YYCURSOR; -#line 173 "src/sfizz/OpcodeCleanup.re" +#line 181 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat("cutoff1", group(1)); goto end_region; } -#line 1253 "src/sfizz/OpcodeCleanup.cpp" -yy168: +#line 1273 "src/sfizz/OpcodeCleanup.cpp" +yy171: yych = *++YYCURSOR; switch (yych) { case '0': @@ -1262,123 +1282,129 @@ yy168: case '6': case '7': case '8': - case '9': goto yy168; + case '9': goto yy171; case '_': yyt4 = YYCURSOR; - goto yy201; - default: goto yy34; - } -yy170: - yych = *++YYCURSOR; - switch (yych) { - case 'r': goto yy204; - default: goto yy203; - } -yy171: - yych = *++YYCURSOR; - switch (yych) { - case 'o': goto yy205; - default: goto yy34; - } -yy172: - yych = *++YYCURSOR; - switch (yych) { - case 'o': goto yy206; + goto yy206; default: goto yy34; } yy173: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy207; - default: goto yy34; + case 'r': goto yy209; + default: goto yy208; } yy174: yych = *++YYCURSOR; switch (yych) { - case 'q': goto yy133; + case 'o': goto yy210; default: goto yy34; } yy175: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy133; + case 'o': goto yy211; default: goto yy34; } yy176: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy208; + case 'c': goto yy212; default: goto yy34; } yy177: yych = *++YYCURSOR; - if (yych <= 0x00) goto yy209; - goto yy34; + switch (yych) { + case 'q': goto yy134; + default: goto yy34; + } yy178: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy211; - default: goto yy139; + case 'n': goto yy134; + default: goto yy34; } yy179: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy212; + case '2': goto yy213; default: goto yy34; } yy180: yych = *++YYCURSOR; switch (yych) { - case 't': goto yy213; + case 'e': goto yy214; default: goto yy34; } yy181: yych = *++YYCURSOR; - switch (yych) { - case 'f': goto yy214; - default: goto yy34; - } + if (yych <= 0x00) goto yy215; + goto yy34; yy182: yych = *++YYCURSOR; switch (yych) { - case 't': goto yy215; - default: goto yy34; + case 'n': goto yy217; + default: goto yy141; } yy183: yych = *++YYCURSOR; switch (yych) { - case 's': goto yy216; + case 'c': goto yy218; default: goto yy34; } yy184: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy217; + case 't': goto yy219; default: goto yy34; } yy185: yych = *++YYCURSOR; switch (yych) { - case 'v': goto yy218; + case 'f': goto yy220; default: goto yy34; } yy186: yych = *++YYCURSOR; - if (yych <= 0x00) goto yy219; - goto yy34; + switch (yych) { + case 't': goto yy221; + default: goto yy34; + } yy187: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy186; + case 's': goto yy222; default: goto yy34; } yy188: yych = *++YYCURSOR; switch (yych) { - case 'r': goto yy221; + case 'a': goto yy223; default: goto yy34; } yy189: + yych = *++YYCURSOR; + switch (yych) { + case 'v': goto yy224; + default: goto yy34; + } +yy190: + yych = *++YYCURSOR; + if (yych <= 0x00) goto yy225; + goto yy34; +yy191: + yych = *++YYCURSOR; + switch (yych) { + case 'e': goto yy190; + default: goto yy34; + } +yy192: + yych = *++YYCURSOR; + switch (yych) { + case 'r': goto yy227; + default: goto yy34; + } +yy193: yych = *++YYCURSOR; switch (yych) { case '0': @@ -1392,146 +1418,114 @@ yy189: case '8': case '9': yyt1 = YYCURSOR; - goto yy222; - default: goto yy34; - } -yy190: - yych = *++YYCURSOR; - switch (yych) { - case 'c': goto yy224; - default: goto yy34; - } -yy191: - yych = *++YYCURSOR; - switch (yych) { - case 'n': goto yy225; - default: goto yy34; - } -yy192: - yych = *++YYCURSOR; - switch (yych) { - case 'c': goto yy226; - default: goto yy34; - } -yy193: - yych = *++YYCURSOR; - switch (yych) { - case 't': goto yy227; + goto yy228; default: goto yy34; } yy194: yych = *++YYCURSOR; switch (yych) { - case 'c': - case 'l': goto yy228; + case 'c': goto yy230; default: goto yy34; } yy195: yych = *++YYCURSOR; switch (yych) { - case 'l': goto yy229; + case 'n': goto yy231; default: goto yy34; } yy196: yych = *++YYCURSOR; switch (yych) { - case 'l': goto yy230; + case 'c': goto yy232; default: goto yy34; } yy197: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy231; + case 't': goto yy233; default: goto yy34; } yy198: yych = *++YYCURSOR; switch (yych) { - case 's': goto yy232; + case 'c': + case 'l': goto yy234; default: goto yy34; } yy199: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy233; + case 'l': goto yy235; default: goto yy34; } yy200: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy234; - case 'r': goto yy235; + case 'l': goto yy236; default: goto yy34; } yy201: yych = *++YYCURSOR; switch (yych) { - case 'r': goto yy236; + case 'a': goto yy237; default: goto yy34; } yy202: yych = *++YYCURSOR; -yy203: - if (yych <= 0x00) { - yyt2 = YYCURSOR; - goto yy166; + switch (yych) { + case 's': goto yy238; + default: goto yy34; + } +yy203: + yych = *++YYCURSOR; + switch (yych) { + case 'l': goto yy239; + default: goto yy34; } - goto yy202; yy204: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy237; - default: goto yy203; + case 'e': goto yy240; + default: goto yy34; } yy205: yych = *++YYCURSOR; switch (yych) { - case 'f': goto yy238; + case 'a': goto yy241; + case 'r': goto yy242; default: goto yy34; } yy206: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy239; + case 'r': goto yy243; default: goto yy34; } yy207: yych = *++YYCURSOR; +yy208: + if (yych <= 0x00) { + yyt2 = YYCURSOR; + goto yy169; + } + goto yy207; +yy209: + yych = *++YYCURSOR; switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - yyt3 = YYCURSOR; - goto yy240; + case 'a': goto yy244; + default: goto yy208; + } +yy210: + yych = *++YYCURSOR; + switch (yych) { + case 'f': goto yy245; default: goto yy34; } -yy208: - yych = *++YYCURSOR; - if (yych <= 0x00) goto yy242; - goto yy34; -yy209: - ++YYCURSOR; - yynmatch = 1; - yypmatch[0] = YYCURSOR - 8; - yypmatch[1] = YYCURSOR; -#line 127 "src/sfizz/OpcodeCleanup.re" - { - opcode = absl::StrCat("fil1_type"); - goto end_region; - } -#line 1530 "src/sfizz/OpcodeCleanup.cpp" yy211: yych = *++YYCURSOR; switch (yych) { - case 'd': goto yy244; - default: goto yy139; + case 'n': goto yy246; + default: goto yy34; } yy212: yych = *++YYCURSOR; @@ -1546,272 +1540,36 @@ yy212: case '7': case '8': case '9': - yyt1 = YYCURSOR; - goto yy245; + yyt3 = YYCURSOR; + goto yy247; default: goto yy34; } yy213: yych = *++YYCURSOR; - switch (yych) { - case 'o': goto yy247; - default: goto yy34; - } + yyt2 = YYCURSOR; + goto yy252; yy214: yych = *++YYCURSOR; - switch (yych) { - case 's': goto yy248; - default: goto yy34; - } + if (yych <= 0x00) goto yy253; + goto yy34; yy215: - yych = *++YYCURSOR; - switch (yych) { - case 'i': goto yy249; - default: goto yy34; - } -yy216: - yych = *++YYCURSOR; - switch (yych) { - case 'o': goto yy250; - default: goto yy34; - } + ++YYCURSOR; + yynmatch = 1; + yypmatch[0] = YYCURSOR - 8; + yypmatch[1] = YYCURSOR; +#line 135 "src/sfizz/OpcodeCleanup.re" + { + opcode = absl::StrCat("fil1_type"); + goto end_region; + } +#line 1566 "src/sfizz/OpcodeCleanup.cpp" yy217: yych = *++YYCURSOR; switch (yych) { - case 'l': goto yy218; - default: goto yy34; + case 'd': goto yy255; + default: goto yy141; } yy218: - yych = *++YYCURSOR; - switch (yych) { - case 'e': goto yy251; - default: goto yy34; - } -yy219: - ++YYCURSOR; - yynmatch = 2; - yypmatch[2] = yyt1; - yypmatch[0] = yyt1 - 4; - yypmatch[1] = YYCURSOR; - yypmatch[3] = YYCURSOR - 1; -#line 115 "src/sfizz/OpcodeCleanup.re" - { - opcode = absl::StrCat("loop_", group(1)); - goto end_region; - } -#line 1602 "src/sfizz/OpcodeCleanup.cpp" -yy221: - yych = *++YYCURSOR; - switch (yych) { - case 't': goto yy186; - default: goto yy34; - } -yy222: - yych = *++YYCURSOR; - switch (yych) { - case 0x00: goto yy252; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy222; - default: goto yy34; - } -yy224: - yych = *++YYCURSOR; - switch (yych) { - case 'c': goto yy254; - default: goto yy34; - } -yy225: - yych = *++YYCURSOR; - switch (yych) { - case 'y': goto yy255; - default: goto yy34; - } -yy226: - yych = *++YYCURSOR; - switch (yych) { - case 'e': goto yy256; - default: goto yy34; - } -yy227: - yych = *++YYCURSOR; - switch (yych) { - case 'a': goto yy257; - default: goto yy34; - } -yy228: - yych = *++YYCURSOR; - switch (yych) { - case 'a': goto yy258; - default: goto yy34; - } -yy229: - yych = *++YYCURSOR; - switch (yych) { - case 'd': goto yy259; - default: goto yy34; - } -yy230: - yych = *++YYCURSOR; - switch (yych) { - case 'e': goto yy260; - default: goto yy34; - } -yy231: - yych = *++YYCURSOR; - switch (yych) { - case 'r': goto yy261; - default: goto yy34; - } -yy232: - yych = *++YYCURSOR; - switch (yych) { - case 't': goto yy262; - default: goto yy34; - } -yy233: - yych = *++YYCURSOR; - switch (yych) { - case 'p': goto yy263; - default: goto yy34; - } -yy234: - yych = *++YYCURSOR; - switch (yych) { - case 'd': goto yy264; - default: goto yy34; - } -yy235: - yych = *++YYCURSOR; - switch (yych) { - case 'e': goto yy265; - default: goto yy34; - } -yy236: - yych = *++YYCURSOR; - switch (yych) { - case 'a': goto yy266; - default: goto yy34; - } -yy237: - yych = *++YYCURSOR; - switch (yych) { - case 'n': goto yy267; - default: goto yy203; - } -yy238: - yych = *++YYCURSOR; - switch (yych) { - case 'f': goto yy268; - default: goto yy34; - } -yy239: - yych = *++YYCURSOR; - switch (yych) { - case 'a': goto yy269; - default: goto yy34; - } -yy240: - yych = *++YYCURSOR; - switch (yych) { - case 0x00: goto yy270; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy240; - default: goto yy34; - } -yy242: - ++YYCURSOR; - yynmatch = 2; - yypmatch[2] = yyt1; - yypmatch[0] = yyt1 - 3; - yypmatch[1] = YYCURSOR; - yypmatch[3] = YYCURSOR - 5; -#line 131 "src/sfizz/OpcodeCleanup.re" - { - opcode = absl::StrCat("fil", group(1), "_type"); - goto end_region; - } -#line 1749 "src/sfizz/OpcodeCleanup.cpp" -yy244: - yych = *++YYCURSOR; - switch (yych) { - case 'o': goto yy272; - default: goto yy139; - } -yy245: - yych = *++YYCURSOR; - switch (yych) { - case 0x00: goto yy273; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy245; - default: goto yy34; - } -yy247: - yych = *++YYCURSOR; - switch (yych) { - case 'f': goto yy275; - default: goto yy34; - } -yy248: - yych = *++YYCURSOR; - switch (yych) { - case 'e': goto yy276; - default: goto yy34; - } -yy249: - yych = *++YYCURSOR; - switch (yych) { - case 'o': goto yy251; - default: goto yy34; - } -yy250: - yych = *++YYCURSOR; - switch (yych) { - case 'n': goto yy277; - default: goto yy34; - } -yy251: - yych = *++YYCURSOR; - if (yych <= 0x00) goto yy278; - goto yy34; -yy252: - ++YYCURSOR; - yynmatch = 3; - yypmatch[4] = yyt1; - yypmatch[0] = yyt1 - 7; - yypmatch[1] = YYCURSOR; - yypmatch[2] = yyt1 - 4; - yypmatch[3] = yyt1 - 2; - yypmatch[5] = YYCURSOR - 1; -#line 155 "src/sfizz/OpcodeCleanup.re" - { - opcode = absl::StrCat("start_", group(1), "cc", group(2)); - goto end_region; - } -#line 1814 "src/sfizz/OpcodeCleanup.cpp" -yy254: yych = *++YYCURSOR; switch (yych) { case '0': @@ -1825,111 +1583,419 @@ yy254: case '8': case '9': yyt1 = YYCURSOR; - goto yy280; + goto yy256; default: goto yy34; } +yy219: + yych = *++YYCURSOR; + switch (yych) { + case 'o': goto yy258; + default: goto yy34; + } +yy220: + yych = *++YYCURSOR; + switch (yych) { + case 's': goto yy259; + default: goto yy34; + } +yy221: + yych = *++YYCURSOR; + switch (yych) { + case 'i': goto yy260; + default: goto yy34; + } +yy222: + yych = *++YYCURSOR; + switch (yych) { + case 'o': goto yy261; + default: goto yy34; + } +yy223: + yych = *++YYCURSOR; + switch (yych) { + case 'l': goto yy224; + default: goto yy34; + } +yy224: + yych = *++YYCURSOR; + switch (yych) { + case 'e': goto yy262; + default: goto yy34; + } +yy225: + ++YYCURSOR; + yynmatch = 2; + yypmatch[2] = yyt1; + yypmatch[0] = yyt1 - 4; + yypmatch[1] = YYCURSOR; + yypmatch[3] = YYCURSOR - 1; +#line 123 "src/sfizz/OpcodeCleanup.re" + { + opcode = absl::StrCat("loop_", group(1)); + goto end_region; + } +#line 1638 "src/sfizz/OpcodeCleanup.cpp" +yy227: + yych = *++YYCURSOR; + switch (yych) { + case 't': goto yy190; + default: goto yy34; + } +yy228: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: goto yy263; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy228; + default: goto yy34; + } +yy230: + yych = *++YYCURSOR; + switch (yych) { + case 'c': goto yy265; + default: goto yy34; + } +yy231: + yych = *++YYCURSOR; + switch (yych) { + case 'y': goto yy266; + default: goto yy34; + } +yy232: + yych = *++YYCURSOR; + switch (yych) { + case 'e': goto yy267; + default: goto yy34; + } +yy233: + yych = *++YYCURSOR; + switch (yych) { + case 'a': goto yy268; + default: goto yy34; + } +yy234: + yych = *++YYCURSOR; + switch (yych) { + case 'a': goto yy269; + default: goto yy34; + } +yy235: + yych = *++YYCURSOR; + switch (yych) { + case 'd': goto yy270; + default: goto yy34; + } +yy236: + yych = *++YYCURSOR; + switch (yych) { + case 'e': goto yy271; + default: goto yy34; + } +yy237: + yych = *++YYCURSOR; + switch (yych) { + case 'r': goto yy272; + default: goto yy34; + } +yy238: + yych = *++YYCURSOR; + switch (yych) { + case 't': goto yy273; + default: goto yy34; + } +yy239: + yych = *++YYCURSOR; + switch (yych) { + case '2': goto yy274; + default: goto yy34; + } +yy240: + yych = *++YYCURSOR; + switch (yych) { + case 'p': goto yy275; + default: goto yy34; + } +yy241: + yych = *++YYCURSOR; + switch (yych) { + case 'd': goto yy276; + default: goto yy34; + } +yy242: + yych = *++YYCURSOR; + switch (yych) { + case 'e': goto yy277; + default: goto yy34; + } +yy243: + yych = *++YYCURSOR; + switch (yych) { + case 'a': goto yy278; + default: goto yy34; + } +yy244: + yych = *++YYCURSOR; + switch (yych) { + case 'n': goto yy279; + default: goto yy208; + } +yy245: + yych = *++YYCURSOR; + switch (yych) { + case 'f': goto yy280; + default: goto yy34; + } +yy246: + yych = *++YYCURSOR; + switch (yych) { + case 'a': goto yy281; + default: goto yy34; + } +yy247: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: goto yy282; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy247; + default: goto yy34; + } +yy249: + ++YYCURSOR; + yynmatch = 3; + yypmatch[2] = yyt1; + yypmatch[4] = yyt2; + yypmatch[0] = yyt1; + yypmatch[1] = YYCURSOR; + yypmatch[3] = yyt2 - 5; + yypmatch[5] = YYCURSOR - 1; +#line 107 "src/sfizz/OpcodeCleanup.re" + { + opcode = absl::StrCat(group(1), "_velto", group(2)); + goto end_region; + } +#line 1793 "src/sfizz/OpcodeCleanup.cpp" +yy251: + yych = *++YYCURSOR; +yy252: + if (yych <= 0x00) goto yy249; + goto yy251; +yy253: + ++YYCURSOR; + yynmatch = 2; + yypmatch[2] = yyt1; + yypmatch[0] = yyt1 - 3; + yypmatch[1] = YYCURSOR; + yypmatch[3] = YYCURSOR - 5; +#line 139 "src/sfizz/OpcodeCleanup.re" + { + opcode = absl::StrCat("fil", group(1), "_type"); + goto end_region; + } +#line 1811 "src/sfizz/OpcodeCleanup.cpp" yy255: yych = *++YYCURSOR; switch (yych) { - case '_': goto yy282; - default: goto yy34; + case 'o': goto yy284; + default: goto yy141; } yy256: yych = *++YYCURSOR; switch (yych) { - case 0x00: - yyt2 = yyt3 = NULL; - goto yy283; - case '_': - yyt3 = YYCURSOR; - goto yy285; - default: goto yy34; - } -yy257: - yych = *++YYCURSOR; - switch (yych) { - case 'c': goto yy287; + case 0x00: goto yy285; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy256; default: goto yy34; } yy258: yych = *++YYCURSOR; switch (yych) { - case 'y': goto yy259; + case 'f': goto yy287; default: goto yy34; } yy259: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy288; + case 'e': goto yy288; default: goto yy34; } yy260: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy289; + case 'o': goto yy262; default: goto yy34; } yy261: yych = *++YYCURSOR; switch (yych) { - case 't': goto yy259; + case 'n': goto yy289; default: goto yy34; } yy262: yych = *++YYCURSOR; - switch (yych) { - case 'a': goto yy290; - default: goto yy34; - } + if (yych <= 0x00) goto yy290; + goto yy34; yy263: - yych = *++YYCURSOR; - switch (yych) { - case 't': goto yy291; - default: goto yy34; - } -yy264: - yych = *++YYCURSOR; - switch (yych) { - case 'e': goto yy292; - default: goto yy34; - } + ++YYCURSOR; + yynmatch = 3; + yypmatch[4] = yyt1; + yypmatch[0] = yyt1 - 7; + yypmatch[1] = YYCURSOR; + yypmatch[2] = yyt1 - 4; + yypmatch[3] = yyt1 - 2; + yypmatch[5] = YYCURSOR - 1; +#line 163 "src/sfizz/OpcodeCleanup.re" + { + opcode = absl::StrCat("start_", group(1), "cc", group(2)); + goto end_region; + } +#line 1876 "src/sfizz/OpcodeCleanup.cpp" yy265: yych = *++YYCURSOR; switch (yych) { - case 'q': goto yy292; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt1 = YYCURSOR; + goto yy292; default: goto yy34; } yy266: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy293; + case '_': goto yy294; default: goto yy34; } yy267: yych = *++YYCURSOR; switch (yych) { - case 'd': goto yy294; - default: goto yy203; + case 0x00: + yyt2 = yyt3 = NULL; + goto yy295; + case '_': + yyt3 = YYCURSOR; + goto yy297; + default: goto yy34; } yy268: yych = *++YYCURSOR; switch (yych) { - case 0x00: - yyt4 = yyt5 = NULL; - yyt3 = YYCURSOR; - goto yy295; - case '_': - yyt3 = yyt5 = YYCURSOR; - goto yy297; + case 'c': goto yy299; default: goto yy34; } yy269: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy299; + case 'y': goto yy270; default: goto yy34; } yy270: + yych = *++YYCURSOR; + switch (yych) { + case 'c': goto yy300; + default: goto yy34; + } +yy271: + yych = *++YYCURSOR; + switch (yych) { + case 'a': goto yy301; + default: goto yy34; + } +yy272: + yych = *++YYCURSOR; + switch (yych) { + case 't': goto yy270; + default: goto yy34; + } +yy273: + yych = *++YYCURSOR; + switch (yych) { + case 'a': goto yy302; + default: goto yy34; + } +yy274: + yych = *++YYCURSOR; + yyt2 = YYCURSOR; + goto yy306; +yy275: + yych = *++YYCURSOR; + switch (yych) { + case 't': goto yy307; + default: goto yy34; + } +yy276: + yych = *++YYCURSOR; + switch (yych) { + case 'e': goto yy308; + default: goto yy34; + } +yy277: + yych = *++YYCURSOR; + switch (yych) { + case 'q': goto yy308; + default: goto yy34; + } +yy278: + yych = *++YYCURSOR; + switch (yych) { + case 'n': goto yy309; + default: goto yy34; + } +yy279: + yych = *++YYCURSOR; + switch (yych) { + case 'd': goto yy310; + default: goto yy208; + } +yy280: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + yyt4 = yyt5 = NULL; + yyt3 = YYCURSOR; + goto yy311; + case '_': + yyt3 = yyt5 = YYCURSOR; + goto yy313; + default: goto yy34; + } +yy281: + yych = *++YYCURSOR; + switch (yych) { + case 'n': goto yy315; + default: goto yy34; + } +yy282: ++YYCURSOR; yynmatch = 4; yypmatch[2] = yyt1; @@ -1940,19 +2006,19 @@ yy270: yypmatch[3] = yyt2 - 1; yypmatch[5] = yyt3 - 2; yypmatch[7] = YYCURSOR - 1; -#line 99 "src/sfizz/OpcodeCleanup.re" +#line 103 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat(group(1), "_", group(2), "_oncc", group(3)); goto end_region; } -#line 1949 "src/sfizz/OpcodeCleanup.cpp" -yy272: +#line 2015 "src/sfizz/OpcodeCleanup.cpp" +yy284: yych = *++YYCURSOR; switch (yych) { - case 'm': goto yy300; - default: goto yy139; + case 'm': goto yy316; + default: goto yy141; } -yy273: +yy285: ++YYCURSOR; yynmatch = 3; yypmatch[4] = yyt1; @@ -1961,31 +2027,31 @@ yy273: yypmatch[2] = yyt1 - 8; yypmatch[3] = yyt1 - 6; yypmatch[5] = YYCURSOR - 1; -#line 182 "src/sfizz/OpcodeCleanup.re" +#line 190 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat(group(1), "hdcc", group(2)); goto end_region; } -#line 1970 "src/sfizz/OpcodeCleanup.cpp" -yy275: +#line 2036 "src/sfizz/OpcodeCleanup.cpp" +yy287: yych = *++YYCURSOR; switch (yych) { - case 'f': goto yy301; + case 'f': goto yy317; default: goto yy34; } -yy276: +yy288: yych = *++YYCURSOR; switch (yych) { - case 't': goto yy251; + case 't': goto yy262; default: goto yy34; } -yy277: +yy289: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy302; + case 'a': goto yy318; default: goto yy34; } -yy278: +yy290: ++YYCURSOR; yynmatch = 3; yypmatch[2] = yyt1; @@ -1994,16 +2060,16 @@ yy278: yypmatch[1] = YYCURSOR; yypmatch[3] = yyt2 - 1; yypmatch[5] = YYCURSOR - 1; -#line 103 "src/sfizz/OpcodeCleanup.re" +#line 111 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat(group(1), "_", group(2), "1"); goto end_region; } -#line 2003 "src/sfizz/OpcodeCleanup.cpp" -yy280: +#line 2069 "src/sfizz/OpcodeCleanup.cpp" +yy292: yych = *++YYCURSOR; switch (yych) { - case 0x00: goto yy303; + case 0x00: goto yy319; case '0': case '1': case '2': @@ -2013,84 +2079,104 @@ yy280: case '6': case '7': case '8': - case '9': goto yy280; + case '9': goto yy292; default: goto yy34; } -yy282: +yy294: yych = *++YYCURSOR; switch (yych) { - case 'g': goto yy305; + case 'g': goto yy321; default: goto yy34; } -yy283: +yy295: ++YYCURSOR; yynmatch = 2; yypmatch[0] = yyt1; yypmatch[2] = yyt3; yypmatch[3] = yyt2; yypmatch[1] = YYCURSOR; -#line 177 "src/sfizz/OpcodeCleanup.re" +#line 185 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat("resonance1", group(1)); goto end_region; } -#line 2038 "src/sfizz/OpcodeCleanup.cpp" -yy285: +#line 2104 "src/sfizz/OpcodeCleanup.cpp" +yy297: yych = *++YYCURSOR; if (yych <= 0x00) { yyt2 = YYCURSOR; - goto yy283; + goto yy295; } - goto yy285; -yy287: + goto yy297; +yy299: yych = *++YYCURSOR; switch (yych) { - case 'k': goto yy259; + case 'k': goto yy270; default: goto yy34; } -yy288: +yy300: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy306; + case 'c': goto yy322; default: goto yy34; } -yy289: +yy301: yych = *++YYCURSOR; switch (yych) { - case 's': goto yy307; + case 's': goto yy323; default: goto yy34; } -yy290: +yy302: yych = *++YYCURSOR; switch (yych) { - case 'i': goto yy308; + case 'i': goto yy324; default: goto yy34; } -yy291: +yy303: + ++YYCURSOR; + yynmatch = 3; + yypmatch[2] = yyt1; + yypmatch[4] = yyt2; + yypmatch[0] = yyt1; + yypmatch[1] = YYCURSOR; + yypmatch[3] = yyt2 - 5; + yypmatch[5] = YYCURSOR - 1; +#line 99 "src/sfizz/OpcodeCleanup.re" + { + opcode = absl::StrCat(group(1), "_velto", group(2)); + goto end_region; + } +#line 2150 "src/sfizz/OpcodeCleanup.cpp" +yy305: + yych = *++YYCURSOR; +yy306: + if (yych <= 0x00) goto yy303; + goto yy305; +yy307: yych = *++YYCURSOR; switch (yych) { - case 'h': goto yy292; + case 'h': goto yy308; default: goto yy34; } -yy292: +yy308: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy309; + case 'c': goto yy325; default: goto yy34; } -yy293: +yy309: yych = *++YYCURSOR; switch (yych) { - case 'd': goto yy310; + case 'd': goto yy326; default: goto yy34; } -yy294: +yy310: yych = *++YYCURSOR; switch (yych) { - case 'o': goto yy311; - default: goto yy203; + case 'o': goto yy327; + default: goto yy208; } -yy295: +yy311: ++YYCURSOR; yynmatch = 4; yypmatch[2] = yyt1; @@ -2101,48 +2187,48 @@ yy295: yypmatch[0] = yyt1; yypmatch[1] = YYCURSOR; yypmatch[3] = yyt2 - 1; -#line 111 "src/sfizz/OpcodeCleanup.re" +#line 119 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat(group(1), "_", group(2), "1", group(3)); goto end_region; } -#line 2110 "src/sfizz/OpcodeCleanup.cpp" -yy297: +#line 2196 "src/sfizz/OpcodeCleanup.cpp" +yy313: yych = *++YYCURSOR; if (yych <= 0x00) { yyt4 = YYCURSOR; - goto yy295; + goto yy311; } - goto yy297; -yy299: + goto yy313; +yy315: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy312; + case 'c': goto yy328; default: goto yy34; } -yy300: +yy316: yych = *++YYCURSOR; - if (yych <= 0x00) goto yy313; - goto yy138; -yy301: + if (yych <= 0x00) goto yy329; + goto yy140; +yy317: yych = *++YYCURSOR; switch (yych) { case 0x00: yyt4 = yyt5 = NULL; yyt3 = YYCURSOR; - goto yy315; + goto yy331; case '_': yyt3 = yyt5 = YYCURSOR; - goto yy317; + goto yy333; default: goto yy34; } -yy302: +yy318: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy319; + case 'n': goto yy335; default: goto yy34; } -yy303: +yy319: ++YYCURSOR; yynmatch = 3; yypmatch[4] = yyt1; @@ -2151,19 +2237,19 @@ yy303: yypmatch[2] = yyt1 - 6; yypmatch[3] = yyt1 - 4; yypmatch[5] = YYCURSOR - 1; -#line 159 "src/sfizz/OpcodeCleanup.re" +#line 167 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat("start_", group(1), "hdcc", group(2)); goto end_region; } -#line 2160 "src/sfizz/OpcodeCleanup.cpp" -yy305: +#line 2246 "src/sfizz/OpcodeCleanup.cpp" +yy321: yych = *++YYCURSOR; switch (yych) { - case 'r': goto yy320; + case 'r': goto yy336; default: goto yy34; } -yy306: +yy322: yych = *++YYCURSOR; switch (yych) { case '0': @@ -2177,57 +2263,57 @@ yy306: case '8': case '9': yyt3 = YYCURSOR; - goto yy321; + goto yy337; default: goto yy34; } -yy307: +yy323: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy259; + case 'e': goto yy270; default: goto yy34; } -yy308: +yy324: yych = *++YYCURSOR; switch (yych) { - case 'n': goto yy259; + case 'n': goto yy270; default: goto yy34; } -yy309: +yy325: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy323; + case 'c': goto yy339; default: goto yy34; } -yy310: +yy326: yych = *++YYCURSOR; switch (yych) { - case 'o': goto yy324; + case 'o': goto yy340; default: goto yy34; } -yy311: +yy327: yych = *++YYCURSOR; switch (yych) { - case 'm': goto yy325; - default: goto yy203; + case 'm': goto yy341; + default: goto yy208; } -yy312: +yy328: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy268; + case 'e': goto yy280; default: goto yy34; } -yy313: +yy329: ++YYCURSOR; yynmatch = 1; yypmatch[0] = YYCURSOR - 12; yypmatch[1] = YYCURSOR; -#line 141 "src/sfizz/OpcodeCleanup.re" +#line 149 "src/sfizz/OpcodeCleanup.re" { opcode = "amp_random"; goto end_region; } -#line 2230 "src/sfizz/OpcodeCleanup.cpp" -yy315: +#line 2316 "src/sfizz/OpcodeCleanup.cpp" +yy331: ++YYCURSOR; yynmatch = 4; yypmatch[2] = yyt1; @@ -2238,35 +2324,35 @@ yy315: yypmatch[0] = yyt1; yypmatch[1] = YYCURSOR; yypmatch[3] = yyt2 - 1; -#line 107 "src/sfizz/OpcodeCleanup.re" +#line 115 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat(group(1), "_", group(2), "1", group(3)); goto end_region; } -#line 2247 "src/sfizz/OpcodeCleanup.cpp" -yy317: +#line 2333 "src/sfizz/OpcodeCleanup.cpp" +yy333: yych = *++YYCURSOR; if (yych <= 0x00) { yyt4 = YYCURSOR; - goto yy315; + goto yy331; } - goto yy317; -yy319: + goto yy333; +yy335: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy326; + case 'c': goto yy342; default: goto yy34; } -yy320: +yy336: yych = *++YYCURSOR; switch (yych) { - case 'o': goto yy327; + case 'o': goto yy343; default: goto yy34; } -yy321: +yy337: yych = *++YYCURSOR; switch (yych) { - case 0x00: goto yy328; + case 0x00: goto yy344; case '0': case '1': case '2': @@ -2276,10 +2362,10 @@ yy321: case '6': case '7': case '8': - case '9': goto yy321; + case '9': goto yy337; default: goto yy34; } -yy323: +yy339: yych = *++YYCURSOR; switch (yych) { case '0': @@ -2293,32 +2379,32 @@ yy323: case '8': case '9': yyt3 = YYCURSOR; - goto yy330; + goto yy346; default: goto yy34; } -yy324: +yy340: yych = *++YYCURSOR; switch (yych) { - case 'm': goto yy332; + case 'm': goto yy348; default: goto yy34; } -yy325: +yy341: yych = *++YYCURSOR; - if (yych <= 0x00) goto yy333; - goto yy202; -yy326: + if (yych <= 0x00) goto yy349; + goto yy207; +yy342: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy301; + case 'e': goto yy317; default: goto yy34; } -yy327: +yy343: yych = *++YYCURSOR; switch (yych) { - case 'u': goto yy335; + case 'u': goto yy351; default: goto yy34; } -yy328: +yy344: ++YYCURSOR; yynmatch = 4; yypmatch[2] = yyt1; @@ -2334,11 +2420,11 @@ yy328: opcode = absl::StrCat(group(1), "_", group(2), "_oncc", group(3)); goto end_region; } -#line 2338 "src/sfizz/OpcodeCleanup.cpp" -yy330: +#line 2424 "src/sfizz/OpcodeCleanup.cpp" +yy346: yych = *++YYCURSOR; switch (yych) { - case 0x00: goto yy336; + case 0x00: goto yy352; case '0': case '1': case '2': @@ -2348,32 +2434,32 @@ yy330: case '6': case '7': case '8': - case '9': goto yy330; + case '9': goto yy346; default: goto yy34; } -yy332: +yy348: yych = *++YYCURSOR; if (yych >= 0x01) goto yy34; -yy333: +yy349: ++YYCURSOR; yynmatch = 2; yypmatch[0] = yyt1; yypmatch[2] = yyt2; yypmatch[3] = yyt4; yypmatch[1] = YYCURSOR; -#line 164 "src/sfizz/OpcodeCleanup.re" +#line 172 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat("fil", group(1), "_random"); goto again_region; } -#line 2370 "src/sfizz/OpcodeCleanup.cpp" -yy335: +#line 2456 "src/sfizz/OpcodeCleanup.cpp" +yy351: yych = *++YYCURSOR; switch (yych) { - case 'p': goto yy338; + case 'p': goto yy354; default: goto yy34; } -yy336: +yy352: ++YYCURSOR; yynmatch = 4; yypmatch[2] = yyt1; @@ -2389,22 +2475,22 @@ yy336: opcode = absl::StrCat(group(1), "_", group(2), "_oncc", group(3)); goto end_region; } -#line 2393 "src/sfizz/OpcodeCleanup.cpp" -yy338: +#line 2479 "src/sfizz/OpcodeCleanup.cpp" +yy354: yych = *++YYCURSOR; if (yych >= 0x01) goto yy34; ++YYCURSOR; yynmatch = 1; yypmatch[0] = YYCURSOR - 16; yypmatch[1] = YYCURSOR; -#line 136 "src/sfizz/OpcodeCleanup.re" +#line 144 "src/sfizz/OpcodeCleanup.re" { opcode = "group"; goto end_region; } -#line 2406 "src/sfizz/OpcodeCleanup.cpp" +#line 2492 "src/sfizz/OpcodeCleanup.cpp" } -#line 191 "src/sfizz/OpcodeCleanup.re" +#line 199 "src/sfizz/OpcodeCleanup.re" end_region: @@ -2419,80 +2505,80 @@ end_region: YYCURSOR = opcode.c_str(); -#line 2423 "src/sfizz/OpcodeCleanup.cpp" +#line 2509 "src/sfizz/OpcodeCleanup.cpp" { char yych; yych = *YYCURSOR; switch (yych) { - case 's': goto yy345; - default: goto yy343; + case 's': goto yy361; + default: goto yy359; } -yy343: +yy359: ++YYCURSOR; -yy344: -#line 211 "src/sfizz/OpcodeCleanup.re" +yy360: +#line 219 "src/sfizz/OpcodeCleanup.re" { goto end_control; } -#line 2438 "src/sfizz/OpcodeCleanup.cpp" -yy345: +#line 2524 "src/sfizz/OpcodeCleanup.cpp" +yy361: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case 'e': goto yy346; - default: goto yy344; + case 'e': goto yy362; + default: goto yy360; } -yy346: +yy362: yych = *++YYCURSOR; switch (yych) { - case 't': goto yy348; - default: goto yy347; + case 't': goto yy364; + default: goto yy363; } -yy347: +yy363: YYCURSOR = YYMARKER; - goto yy344; -yy348: + goto yy360; +yy364: yych = *++YYCURSOR; switch (yych) { - case '_': goto yy349; - default: goto yy347; + case '_': goto yy365; + default: goto yy363; } -yy349: +yy365: yych = *++YYCURSOR; switch (yych) { - case 'r': goto yy350; - default: goto yy347; + case 'r': goto yy366; + default: goto yy363; } -yy350: +yy366: yych = *++YYCURSOR; switch (yych) { - case 'e': goto yy351; - default: goto yy347; + case 'e': goto yy367; + default: goto yy363; } -yy351: +yy367: yych = *++YYCURSOR; switch (yych) { - case 'a': goto yy352; - default: goto yy347; + case 'a': goto yy368; + default: goto yy363; } -yy352: +yy368: yych = *++YYCURSOR; switch (yych) { - case 'l': goto yy353; - default: goto yy347; + case 'l': goto yy369; + default: goto yy363; } -yy353: +yy369: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy354; - default: goto yy347; + case 'c': goto yy370; + default: goto yy363; } -yy354: +yy370: yych = *++YYCURSOR; switch (yych) { - case 'c': goto yy355; - default: goto yy347; + case 'c': goto yy371; + default: goto yy363; } -yy355: +yy371: yych = *++YYCURSOR; switch (yych) { case '0': @@ -2506,13 +2592,13 @@ yy355: case '8': case '9': yyt1 = YYCURSOR; - goto yy356; - default: goto yy347; + goto yy372; + default: goto yy363; } -yy356: +yy372: yych = *++YYCURSOR; switch (yych) { - case 0x00: goto yy358; + case 0x00: goto yy374; case '0': case '1': case '2': @@ -2522,24 +2608,24 @@ yy356: case '6': case '7': case '8': - case '9': goto yy356; - default: goto yy347; + case '9': goto yy372; + default: goto yy363; } -yy358: +yy374: ++YYCURSOR; yynmatch = 2; yypmatch[2] = yyt1; yypmatch[0] = yyt1 - 10; yypmatch[1] = YYCURSOR; yypmatch[3] = YYCURSOR - 1; -#line 206 "src/sfizz/OpcodeCleanup.re" +#line 214 "src/sfizz/OpcodeCleanup.re" { opcode = absl::StrCat("set_hdcc", group(1)); goto end_control; } -#line 2541 "src/sfizz/OpcodeCleanup.cpp" +#line 2627 "src/sfizz/OpcodeCleanup.cpp" } -#line 215 "src/sfizz/OpcodeCleanup.re" +#line 223 "src/sfizz/OpcodeCleanup.re" end_control: diff --git a/src/sfizz/OpcodeCleanup.re b/src/sfizz/OpcodeCleanup.re index c9a3d5c4..b2906b6b 100644 --- a/src/sfizz/OpcodeCleanup.re +++ b/src/sfizz/OpcodeCleanup.re @@ -96,10 +96,18 @@ end_region_oncc: opcode = absl::StrCat(group(1), "_", group(2), "_oncc", group(3)); goto end_region; } + (egV1) "_vel2" (any) END { + opcode = absl::StrCat(group(1), "_velto", group(2)); + goto end_region; + } (eqV1) "_" ("bw"|"freq"|"gain") "cc" (number) END { opcode = absl::StrCat(group(1), "_", group(2), "_oncc", group(3)); goto end_region; } + (eqV1) "_vel2" (any) END { + opcode = absl::StrCat(group(1), "_velto", group(2)); + goto end_region; + } (lfoV2) "_" ("wave"|"offset"|"ratio"|"scale") END { opcode = absl::StrCat(group(1), "_", group(2), "1"); goto end_region; diff --git a/src/sfizz/Region.cpp b/src/sfizz/Region.cpp index 816211ba..e9f682c0 100644 --- a/src/sfizz/Region.cpp +++ b/src/sfizz/Region.cpp @@ -759,11 +759,9 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) processGenericCc(opcode, Default::eqFrequencyModRange, ModKey::createNXYZ(ModId::EqFrequency, id, eqIndex)); } break; - case hash("eq&_vel&freq"): + case hash("eq&_veltofreq"): // also eq&_vel2freq { const auto eqIndex = opcode.parameters.front() - 1; - if (opcode.parameters[1] != 2) - return false; // was eqN_vel3freq or something else than eqN_vel2freq if (!extendIfNecessary(equalizers, eqIndex + 1, Default::numEQs)) return false; @@ -787,11 +785,9 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) processGenericCc(opcode, Default::eqGainModRange, ModKey::createNXYZ(ModId::EqGain, id, eqIndex)); } break; - case hash("eq&_vel&gain"): + case hash("eq&_veltogain"): // also eq&_vel2gain { const auto eqIndex = opcode.parameters.front() - 1; - if (opcode.parameters[1] != 2) - return false; // was eqN_vel3gain or something else than eqN_vel2gain if (!extendIfNecessary(equalizers, eqIndex + 1, Default::numEQs)) return false; @@ -1212,12 +1208,12 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) case hash("ampeg_release"): case hash("ampeg_start"): case hash("ampeg_sustain"): - case hash("ampeg_vel&attack"): - case hash("ampeg_vel&decay"): - case hash("ampeg_vel&delay"): - case hash("ampeg_vel&hold"): - case hash("ampeg_vel&release"): - case hash("ampeg_vel&sustain"): + case hash("ampeg_veltoattack"): // also ampeg_vel2attack + case hash("ampeg_veltodecay"): // also ampeg_vel2decay + case hash("ampeg_veltodelay"): // also ampeg_vel2delay + case hash("ampeg_veltohold"): // also ampeg_vel2hold + case hash("ampeg_veltorelease"): // also ampeg_vel2release + case hash("ampeg_veltosustain"): // also ampeg_vel2sustain case hash("ampeg_attack_oncc&"): // also ampeg_attackcc& case hash("ampeg_decay_oncc&"): // also ampeg_decaycc& case hash("ampeg_delay_oncc&"): // also ampeg_delaycc& @@ -1235,12 +1231,12 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) case hash("pitcheg_release"): case hash("pitcheg_start"): case hash("pitcheg_sustain"): - case hash("pitcheg_vel&attack"): - case hash("pitcheg_vel&decay"): - case hash("pitcheg_vel&delay"): - case hash("pitcheg_vel&hold"): - case hash("pitcheg_vel&release"): - case hash("pitcheg_vel&sustain"): + case hash("pitcheg_veltoattack"): // also pitcheg_vel2attack + case hash("pitcheg_veltodecay"): // also pitcheg_vel2decay + case hash("pitcheg_veltodelay"): // also pitcheg_vel2delay + case hash("pitcheg_veltohold"): // also pitcheg_vel2hold + case hash("pitcheg_veltorelease"): // also pitcheg_vel2release + case hash("pitcheg_veltosustain"): // also pitcheg_vel2sustain case hash("pitcheg_attack_oncc&"): // also pitcheg_attackcc& case hash("pitcheg_decay_oncc&"): // also pitcheg_decaycc& case hash("pitcheg_delay_oncc&"): // also pitcheg_delaycc& @@ -1261,12 +1257,12 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) case hash("fileg_release"): case hash("fileg_start"): case hash("fileg_sustain"): - case hash("fileg_vel&attack"): - case hash("fileg_vel&decay"): - case hash("fileg_vel&delay"): - case hash("fileg_vel&hold"): - case hash("fileg_vel&release"): - case hash("fileg_vel&sustain"): + case hash("fileg_veltoattack"): // also fileg_vel2attack + case hash("fileg_veltodecay"): // also fileg_vel2decay + case hash("fileg_veltodelay"): // also fileg_vel2delay + case hash("fileg_veltohold"): // also fileg_vel2hold + case hash("fileg_veltorelease"): // also fileg_vel2release + case hash("fileg_veltosustain"): // also fileg_vel2sustain case hash("fileg_attack_oncc&"): // also fileg_attackcc& case hash("fileg_decay_oncc&"): // also fileg_decaycc& case hash("fileg_delay_oncc&"): // also fileg_delaycc& @@ -1293,17 +1289,13 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) ModKey::createNXYZ(ModId::FilCutoff, id)).sourceDepth = *value; break; - case hash("pitcheg_vel&depth"): - if (opcode.parameters.front() != 2) - return false; // Was not vel2... + case hash("pitcheg_veltodepth"): // also pitcheg_vel2depth if (auto value = readOpcode(opcode.value, Default::pitchEgDepthRange)) getOrCreateConnection( ModKey::createNXYZ(ModId::PitchEG, id), ModKey::createNXYZ(ModId::Pitch, id)).velToDepth = *value; break; - case hash("fileg_vel&depth"): - if (opcode.parameters.front() != 2) - return false; // Was not vel2... + case hash("fileg_veltodepth"): // also fileg_vel2depth if (auto value = readOpcode(opcode.value, Default::filterEgDepthRange)) getOrCreateConnection( ModKey::createNXYZ(ModId::FilEG, id), @@ -1398,7 +1390,7 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) case hash("hichan"): case hash("lochan"): case hash("ampeg_depth"): - case hash("ampeg_vel&depth"): + case hash("ampeg_veltodepth"): // also ampeg_vel2depth break; default: return false; @@ -1439,34 +1431,22 @@ bool sfz::Region::parseEGOpcode(const Opcode& opcode, EGDescription& eg) case_any_eg("sustain"): setValueFromOpcode(opcode, eg.sustain, Default::egPercentRange); break; - case_any_eg("vel&attack"): - if (opcode.parameters.front() != 2) - return false; // Was not vel2... + case_any_eg("veltoattack"): // also vel2attack setValueFromOpcode(opcode, eg.vel2attack, Default::egOnCCTimeRange); break; - case_any_eg("vel&decay"): - if (opcode.parameters.front() != 2) - return false; // Was not vel2... + case_any_eg("veltodecay"): // also vel2decay setValueFromOpcode(opcode, eg.vel2decay, Default::egOnCCTimeRange); break; - case_any_eg("vel&delay"): - if (opcode.parameters.front() != 2) - return false; // Was not vel2... + case_any_eg("veltodelay"): // also vel2delay setValueFromOpcode(opcode, eg.vel2delay, Default::egOnCCTimeRange); break; - case_any_eg("vel&hold"): - if (opcode.parameters.front() != 2) - return false; // Was not vel2... + case_any_eg("veltohold"): // also vel2hold setValueFromOpcode(opcode, eg.vel2hold, Default::egOnCCTimeRange); break; - case_any_eg("vel&release"): - if (opcode.parameters.front() != 2) - return false; // Was not vel2... + case_any_eg("veltorelease"): // also vel2release setValueFromOpcode(opcode, eg.vel2release, Default::egOnCCTimeRange); break; - case_any_eg("vel&sustain"): - if (opcode.parameters.front() != 2) - return false; // Was not vel2... + case_any_eg("veltosustain"): // also vel2sustain setValueFromOpcode(opcode, eg.vel2sustain, Default::egOnCCPercentRange); break; case_any_eg("attack_oncc&"): // also attackcc&