Skip to content

api: segno/coda synthetic probes blocked from strict round-trip by empty-measure <divisions> and dropped direction <voice> #237

Description

@webern

Resolution

Closing as a duplicate of #228. The two blockers split cleanly:

Nothing actionable remains in this issue beyond #228, so it is repointed there.


Original report

Follow-up to #204 / #235 (segno/coda api coverage) and #236 (editorial footnote/level support).

The two blockers

  1. Empty-measure <attributes>/<divisions> injection. The synthetic measure has no notes, so the writer materializes a <divisions> the source never had — the writer-materializes-implied-containers family of api: round-trip injects implied default elements: <type> <line> <voice> <staff> #228 (add:divisions / add:attributes).

  2. Dropped direction <voice>. The <direction> carries <voice>1</voice> (editorial-voice-direction group), which the api dropped on write. Fixed in feat: round-trip direction voice and pin the synthetic segno/coda fixtures #238.

Repro

cmake --build build/api --target mxtest-api-roundtrip
./build/api/mxtest-api-roundtrip discovery data --dump /tmp/dump
diff /tmp/dump/synthetic__segno.3.0.xml.expected.xml /tmp/dump/synthetic__segno.3.0.xml.actual.xml

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    aiIssues opened by, or through, a coding agent.area/mx::apiarea/mx::implbugsoftware defect

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions