GSOC 2021: Chord Symbol Style Editor - Week 6
Hi. Last week was more of refining the previous weeks' work. I did not work on anything new. But I did make some preparations for the handling of the no-preset style.
I worked primarily on the parsing/respelling functions. There were, surprisingly, a lot of bugs. Initially, the respelling function recognized only the pattern "minor7b5" as a half-diminished chord. Now, it recognizes diminished("minorb5") and augmented("major#5") chord formats too and respells accordingly. I modified the stacking system a little so that the addition/omission modifiers and alterations(e.g. b5) are not stacked in the same column.
I also added a functionality where the user could specify offset and scaling of quality, extension, and modifier as a part of the preset symbol in the XML file. When that symbol is selected, the defined properties are set.
And as I mentioned earlier, I made preliminary arrangements for the no-presets style. It works perfectly now, functionality-wise. I still have to make some modifications in the UI to visually let the user know that presets don't work in that style. The option to enable/disable this will be found in the XML file. When disabled, all the newly added functions are bypassed and the chord symbols work the same way they work now in MuseScore 3.6.
Yesterday, I dealt with a huge merge conflict. This took a lot of time. A big thanks to Casper, who helped me get through rebasing each commit.
For next week:
I still have not gotten around to implement the Chord Symbol Scaling option. So, I will probably try to complete it this week. Now is a good time to get started on the preset XML files too. They probably will undergo a lot of modifications before they are finalized.
To know more as the project goes on, you can visit:
1. The draft Pull Request - https://github.com/musescore/MuseScore/pull/8345
2. My blog on MuseScore - https://musescore.org/en/user/3092631/blog
Thank you for reading the blog. Have a great day!