Settings of fretboard diagrams are lost in palettes

• Nov 12, 2018 - 15:57
Reported version
3.0-dev
Priority
P0 - Critical
Type
Functional
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

I don't know how it's done. I created fretboard diagrams for Ukulele in v2 using Gimp, 4 strings. I've been using them for more than a year. I can load them in v3alpha2, and they show up correctly right after loading. But after restarting MuseScore, they are 6-string??? See image!

(MuseScore-2018-10-31-1202-3.0alpha2-3abd82b.dmg)

UkuleleFretboardDiagramsturn6String.png


Comments

Title fretboard diagrams change string count? Settings of fretboard diagrams are lost in palettes after reloading

Confirmed.

Steps:
1) Edit a fretboard diagram, eg change strings, frets, offset
(note: and the barre is broken)
2) Drag and drop the "new" fret diagram in the palette.
3) Save and Exit the programm.
4 ) Restart
Result: all settings are lost in the palette.

Priority P1 - High P0 - Critical

Actually, worse: the custom fret diagram looks good in the palette, but doesn't work. Drag and drop to your score and it looks correct up until the moment you drop it, then it reverts to chord you started with. Adding via double-click just adds the original chord as well.

I've investigated far enough to be pretty sure the problem is in the fact that the "lost" properties (frets, strings, barre, offset, mag) are considered "styled" (controlled by a style setting) at a point where they shouldn't be. I think that's because the list of which properties are styled and which are not is not copied when we clone the diagram to add it to the palette. But I can't say that I really understand this aspect of the code.

I think that's as far as I can take it. Probably it has something to do with calling initElementFlags() at the proper time, or maybe deep copying the _propertyFlagsList but I'd be too afraid of messing something up.