Style > General > Articulations: Symbol Anchor Settings Not Followed
Symbol anchor settings for articulations as defined in styles are not followed.
Changing anchor definition does not affect score.
OS: OS X 10.13
Arch.: x86_64
MuseScore version (64-bit): 2.3.0
revision: 1d80e75
Comments
Works in general on the scores I tried. Probably something specific to unpitched percussion, maybe that instrument in particular? I tried with the standard Tenor Drums instrument and it worked fine, for instance. Can you post the specific score and/or steps to reproduce from scratch?
In reply to Works in general on the… by Marc Sabatella
The attached file is example of this behavior.
MDL_Snare.mscz
Ah. Seems to work using the keyboard shortcuts (Shift+V for accent, etc), also when using drag & drop, but not when double-clicking palette elements. This is true for other instruments as well - it's not limited to MDL snare to unpitched percussion.
Workaround: after entering articulations using double-click, select and do Ctrl+R to reset. Now the style is honored.
In reply to Ah. Seems to work using the… by Marc Sabatella
I wonder how difficult of a fix?
Ideally, including this style for all templates containing only unpitched percussion, would cause anything created with the templates to be notated correctly by default.
This could solve one of the most common notation mistakes for marching percussion (another is stem direction).
I'm investigating. In my dreams, this will turn out to be the key to understanding a bunch of other discrepancies between double-click vs. drag&drop - see for example #269488: Palette text: Double-clicking results in wrong text properties.
BTW, I suspect this issue is duplicate of #152131: Anchor position of articulations set wrongly: requires score reload to correct.
So, it's easy to "fix", but much much harder to say if this fix actually ends up breaking something else. I do have a proposed alternate fix that is "cheating" but is safer.
First, the "real" fix would go here:
https://github.com/musescore/MuseScore/blob/2.3/mscore/palette.cpp#L290…
This is where we "clone" the palette element during double-click. It makes a literal copy of it, not really stopping to think about current score style settings. Any style settings that were "baked in" to the palette element (not set to "AUTO" where available) will be inherited. This doesn't happen on drag & drop because the code is entirely different - no clone involved, but instead a new element created from scratch, followed by a "read" of the palette element. As much by luck as anything else, this ends up picking up the style setting.
Going back and changing the double-click code to work exactly like the drag & drop code is not reasonable at this point. But if we add
ne->reset();
ne->layout();
after the clone and setScore, we do get the right results here. Not sure the layout() is necessary. Anyhow, this will also clobber any settings for custom palette items that the user had gone to the trouble of customizing. Which is why I am not crazy about it.
But, that leads to a proposed "cheating* solution for this particular use case - hardcode TOP_STAFF into the articulation palette elements for the MDL workspace.
BTW, as noted in the issue I said I think is a duplicate - this actually corrects itself on reload already.
Del.
A related issue: #276280: Articulations: problems adjusting position using Inspector?