Music Notation
ci / checks (push) Successful in 43m19s

This commit is contained in:
khodowany
2026-09-15 01:30:42 -05:00
parent fe42d811fa
commit 1d1bd3e871
41 changed files with 1546 additions and 5236 deletions
+4 -4
View File
@@ -2,7 +2,7 @@ from __future__ import annotations
from pathlib import Path
from generator.score import copy_source_voice, make_arranged_document, make_measure, reidentify, slugify, source_staff, write_json
from generator.score import copy_source_voices, make_arranged_document, make_measure, reidentify, slugify, source_staff, write_json
from generator.musicxml import load_musicxml
from generator.transposition import TARGET_KEYS, transpose_document
@@ -13,14 +13,14 @@ def practice_document(document: dict) -> dict:
raise ValueError("practice source must contain measures")
measures: list[dict] = []
for index, measure in enumerate(source_measure for source_measure in source_measures if isinstance(source_measure, dict)):
voice = copy_source_voice(measure, strip_lyrics=True)
voices = copy_source_voices(measure, strip_lyrics=True)
output_measure = make_measure(
f"measure-{index + 1}",
measure,
voice["notes"],
[],
section_label=str(measure.get("section_label", "")),
)
output_measure["voices"][0]["id"] = str(voice.get("id", output_measure["voices"][0]["id"]))
output_measure['voices'] = voices
measures.append(output_measure)
tuplets = reidentify(measures, staff.get('tuplets', []))
return make_arranged_document(