Closed mdgood closed 2 months ago
I agree, but I would prefer the "none" value instead of "no", like in the css-world "display:none" or "border:none" ...
Is there a need for a "no" value? Is it not enough to have "auto" (the default, which only displays an accidental when necessary) and "yes" (to force one to be displayed - i.e. a cautionary accidental)?
I agree with @mdgood that people should have to explicitly "opt-in" to deliberately hide accidentals, rather than relying on the lack of an attribute. I think it makes sense to treat missing data as "auto" as a general principle throughout MNX-Common.
Here's a quick attempt at outlining the possibilities for rendering accidentals. It errs on the side of too many options, just in case this triggers any ideas from people. Please let me know what I missed!
--
--
Some questions that came up as I pondered these cases:
accidental
attribute (hence creating another microformat), or is it a separate attribute?In braille music transcription, the display of accidentals should be explicitly indicated other than "auto", which will increase the load of braille conversion. There are also rules for braille music to add auxiliary accidentals, so the explicit indication is much useful than just an "auto". For missing attributes, is it the same case in Musicxml where there are only alter without accidental? This will give the same result of not displaying an accidental, such as the one repeated or just in a key.
I believe this can safely be closed, since we added the "support"
key with "useAccidentalDisplay"
in f3cf6cc20. See #347 for the history/discussion.
In the current spec, the note element's accidental attribute is described as follows:
Omitting the attribute to indicate the absence of an accidental is what MusicXML does, but it has proven to be one of the more error-prone decisions. It would be good to revisit this and reconsider other possibilities. Perhaps a missing attribute could default to the "auto" value, and there could be a "no" value to indicate that no accidental is displayed.