Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Barline object type ambiguity #326

Closed
GeorgeTailor opened this issue Apr 7, 2024 · 1 comment
Closed

Barline object type ambiguity #326

GeorgeTailor opened this issue Apr 7, 2024 · 1 comment

Comments

@GeorgeTailor
Copy link

GeorgeTailor commented Apr 7, 2024

Hello,

Global measure docs mention that one of the possible children is barline, which is marked as optional, however there are instructions on how to draw barline when it is not present in the spec.

When we go to barline docs it also mentiones that type is optional, which does not make any sense, since:

  1. it's the only property of this object
  2. as mentioned in global measure docs it's either light-heavy or regular

IMO, specification is not a good place for logic, it should provide structure, otherwise we will end up with same problems as with MusicXML. I propose to mark barline as required in global measure object, also mark type of the barline object as required as well.

@adrianholovaty
Copy link
Contributor

Thanks for the report — nicely spotted! Based on your comments, I think we need to change the following:

  • Make "type" required for the barline object.
  • Change the docs for the "barline" key in measure global to unambiguously refer to the barline object's type. For example, "If the measure is the last in the document, use {"type": "light-heavy"}."
  • Document all allowed values for barline type. This wasn't previously done because we didn't have a way to properly document enums, but that's now possible due to a recent improvement to our docs system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants