Hairpins positions are not saved
While working on my GSOC project I noticed that hairpin positions are not preserved during saving/loading the score. I can manually move a hairpin by dragging it or editing its offset
property in inspector but it doesn't change a saved file in any way, and all hairpins return to their initial places when loading a recently saved file. For MuseScore 2.2 all works fine.
I found that the reason of such a difference is this commit which, among other changes, makes Hairpin::write()
function used for writing a hairpin to MSCX files call Element::writeProperties()
for writing its properties instead of using the overriding it TextLineBase::writeProperties()
member function. This prevents the hairpin from storing its underlying Segment
which holds the information on the hairpin location. Similar changes were done to other classes derived from TextLineBase
but I am not sure whether they violate anything in those cases.
So my question is whether this change in the code was intentional, and whether it is planned to modify it further so that the information on hairpin location will be stored in some other way? Or, perhaps, I should put this question to the issue tracker?