Skip to content

Possible problem with backup multi-voice logic found with musuite/testVoiceMapper1.xml. #425

Description

@webern

AI written PR #422 discovered the following:

musuite/testVoiceMapper1.xml, the third file the classifier listed under value:voice, is not fixed here, and this is not the change that will fix it. That file writes voices 4, 5, 4 back to back with no between them. mx's reader buckets voices by counting backups, so all three notes land in one api voice, and one api voice can only carry one name. Splitting them into separate voices would be correct but would make the writer emit / between them, which the source does not have. Getting that file to round-trip means changing how the reader buckets voices and how the writer interleaves them -- a separate piece of work, worth its own issue.

I suppose it might be a bug. Or, perhaps, there are multiple valid solutions when authoring <backup> and <forward> elements. It's worth looking into and deciding whether:

  • mx's handling of this particular file is correct
  • if correct: whether we want to change it to match this file's solution
  • if incorrect: fix it

Either way, the solution should allow us to add musuite/testVoiceMapper1.xml to api-baseline.txt.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugsoftware defectimplAffects the mx::impl layertesting

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions