-
Notifications
You must be signed in to change notification settings - Fork 56
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
*Après un rêve* example lacks a cautionary
attribute for last accidental
#500
Comments
In MuseScure (3.x) I see: static Accidental* accidental(QXmlStreamReader& e, Score* score)
{
const bool cautionary = e.attributes().value("cautionary") == "yes";
const bool editorial = e.attributes().value("editorial") == "yes";
const bool parentheses = e.attributes().value("parentheses") == "yes";
const bool bracket = e.attributes().value("bracket") == "yes";
const QColor accColor = e.attributes().value("color").toString();
QString smufl = e.attributes().value("smufl").toString();
const auto s = e.readElementText();
const auto type = mxmlString2accidentalType(s, smufl);
if (type != AccidentalType::NONE) {
auto a = new Accidental(score);
a->setAccidentalType(type);
if (cautionary || parentheses) {
a->setBracket(AccidentalBracket(AccidentalBracket::PARENTHESIS));
a->setRole(AccidentalRole::USER);
}
else if (editorial || bracket) {
a->setBracket(AccidentalBracket(AccidentalBracket::BRACKET));
a->setRole(AccidentalRole::USER);
}
if (accColor.isValid()/* && preferences.getBool(PREF_IMPORT_MUSICXML_IMPORTLAYOUT)*/)
a->setColor(accColor);
return a;
}
return 0;
} so yes, cautionary gets parenthesized on import |
Thanks for confirmation – LilyPond's My conclusion: the MusicXML standard should explicitly mention that the attributes And let's hope that MNX will do better in separating semantic from visual appearance. |
Note that MuseScore just now changed this slighlty: it still imports with brackets/parentheses, but not any longer if these are explicitly switched off. On export it explicitly switches them off if there are no brackets/parentheses in the score see |
Ah, I logged on specifically to ask this -- what is the behavior if cautionary="yes" but parentheses is explicitly turned off. Is this standard enough across modern rendering systems that we can make this a recommendation going forward, that parentheses defaults to no unless cautionary is yes, but can be overridden? It does make good sense to have an indication of why the accidental is being shown (cautionary="yes/no"), how it should be displayed (parentheses, etc.), and also to have sensible defaults for interpretation if one is set and not the other. |
Will look into the wrong note after checking both old and new sources for the piece. Funny, I never even considered that the music on the example might be wrong in addition to the encoding. |
It's not clear to me what you mean with 'explicitly turned off' – do you mean a global setting within the rendering system, or whether the I can imagine that the combination <accidental cautionary="yes" parentheses="no"> is equal to what I've called |
the latter, |
Thanks for the code links, very helpful. What I notice is that the new MusicXML import code of MuseScore makes |
Well, MuseScore can't have both at the same time/accidental, independent from MusicXML |
ok, thanks. What is the policy of MuseScore (or other major notation programs) if it encounters MusicXML constructions that can't be supported (contrary to invalid MusicXML)? Is there an extended 'lint' mode that checks input files and reports such things? Especially for larger pieces I can imagine that due to such issues stuff gets silently omitted or is incorrectly converted. |
MuseScore silently ignores them. It might write something to the logs or to stderr. |
In the MusicXML listing of Après un rêve, bar 4, first beat, the a flat accidental in the lowest staff lacks a
cautionary="yes"
attribute.At least I think it should be added, because this accidental definitely is a cautionary one in the classical sense: According to Gould's Behind Bars, a cautionary accidental can be either a plain accidental, an accidental in parentheses, or an accidental above the note – it is thus a semantic markup. However, it seems that major MusicXML handlers (I've tested Finale and MuseScore) automatically convert the
cautionary
attribute to a parenthesized accidental. If this is the intention, the description of this attribute should be clarified accordingly.The text was updated successfully, but these errors were encountered: