diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-07-12 17:58:19 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-07-12 17:59:16 +0900 |
| commit | bf36a773918959eeb6ffe7dae2fb8b0874438eb4 (patch) | |
| tree | da7ff0037ea923fea255d2ed69ed2fb51395d9b9 /tests/test_parser.py | |
| parent | f1cd4d7d16f6e75a50bb0c587c0f759f7cf710cd (diff) | |
feat(ppmck): mckc準拠の構文拡張とIR保持コマンド追加
- @をデューティ比、qをクオンタイズに修正(mckc原本準拠)
- ^タイ、Dディチューン、sスイープ、v+/v-相対音量を追加
- @v/@@/@MP/@EP/@EN エンベロープ・LFO系を構文解析してIR保持
- 上記IR保持コマンドは合成未対応を SEMANTIC_UNSUPPORTED_FEATURE で警告
- Design.md / MML_BNF.md を更新
- 全200テスト + ruff チェック通過
Diffstat (limited to 'tests/test_parser.py')
| -rw-r--r-- | tests/test_parser.py | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/tests/test_parser.py b/tests/test_parser.py index a0f11c7..291eb9b 100644 --- a/tests/test_parser.py +++ b/tests/test_parser.py @@ -6,7 +6,7 @@ from mml_composemusic_mcp.parser_ppmck import parse_ppmck from mml_composemusic_mcp.parser_pyxel import parse_pyxel PPMCK_EXAMPLE = """#TITLE "Test" -A t150 l8 o4 v15 q2 +A t150 l8 o4 v15 @2 c d e f B o3 c e g @@ -27,9 +27,7 @@ def test_ppmck_parse(): assert len(program.tracks) == 2 assert program.tracks[0].channel == "Pulse1" assert program.tracks[1].channel == "Pulse2" - notes = [ - s for s in program.tracks[0].statements if isinstance(s, NoteStmt) - ] + notes = [s for s in program.tracks[0].statements if isinstance(s, NoteStmt)] assert notes[0].note_name == "c" @@ -40,9 +38,7 @@ def test_pyxel_parse(): assert not any(e.severity == "error" for e in errors) assert len(program.tracks) == 2 assert program.tracks[0].channel == "Pulse1" - notes = [ - s for s in program.tracks[0].statements if isinstance(s, NoteStmt) - ] + notes = [s for s in program.tracks[0].statements if isinstance(s, NoteStmt)] assert notes[0].note_name == "c" |
