We use mscVerssion in a score file to track the version it was saved with. 
Prior to the release of 2.0, we added code to the end of doLayout() to set
this to the current version, so that the saved version info is used only
during the initial score read & first layout, and then the score is treated
as current:

https://github.com/musescore/MuseScore/blob/ed67dc157c5d553b7988c6307e89c75d38ada144/libmscore/layout.cpp#L1574-L1577

This makes sense to me, and indeed I think it was added after I was running
into problems because previously we were *not* setting this until the file
was saved.  The result was that we'd see strange behaviors when editing
scores scores created in 1.3 that magically fixed themselves if you waited
two minutes for the autosave to kick in.

However, this code we added is currently not doing anything in the master to
differentiate 206 and 207 - the versions for the 2.0.x series and what will
eventually be 2.1.  This is causing me similar issues now, as a 2.0.2 score
upon load claims to be mscVersion 206, and this magically changes to 207
only after saving it.  I have some layout optimizations I want to do for
hairpins, and some compatibility mode code to make sure older scores aren't
affected, but it isn't working right because the score still claims to be
2.0.x even after it is fully loaded and laid out.

I'm thinking we should change the test at the end of doLayout() to bump
mscVersion to the current (MSCVERSION) unconditionally, not just for 1.3 and
older.  Or at least, change the test to 206 instead of 114.  This would
definitely be a help to me with my hairpin code.  I'd like to think that
none of the other code that depends on 206 versus 207 would be adversely
affected, but does anyone know differently?

Marc



--
View this message in context: 
http://dev-list.musescore.org/mscVersion-management-tp7579584.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Mscore-developer mailing list
Mscore-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mscore-developer

Reply via email to