GSoC 2018: Score Comparison Tool — Week 7

Posted 5 years ago

Hello!

This weekly report will probably be not the longest one :)
This week after submitting the pull request on the first part of my work (which I mentioned in my last blog post) I worked on a new textual score comparison tool built in MuseScore. In fact, the only thing I have built into MuseScore to this date is just a console diff-like tool which is (usually) able to map the found differences to actual objects in the MuseScore's internal score structure and even print something sane about them — if it doesn't crash. In fact, to be able to get some relevant information on differences between scores from MSCX code I have to assume that the changes are correct in a sense: e.g. that only full XML tags (start + end) are deleted or inserted. However usual textual diff tools and libraries know nothing about XML and, when performing texts comparison, can report differences that are not semantically correct. For example, they can "shift" the differing chunk to some lines above or below so that the differing chunk is not a full closed XML tag anymore which breaks some assumptions on differing chunk structure. Fixing those diff libraries output is the particular task which I am working on at the moment.

So, to sum up what I have said, I still have nothing to show to end user but I am working on an engine that will provide an information which will be useful to users which would like to use the score comparison tool.

Next week I will continue this work and perhaps, if I get this score comparison code to work more or less well, add some simple UI to MuseScore to show score differences in textual mode.

Thank you for attention!
Dmitri Ovodok