GSoC 2019: Final Weeks
These past few weeks I have been busy with the Edinburgh Fringe Festival, but I have still managed to get a lot of work done. After finishing off with instrument change warnings, I started work on allowing changing to unpitched percussion staves. My initial thought was to add a staff type change object to the instrument change when necessary, but this provided a lot of complications when copying and pasting, as the user would be able to change the properties of the staff type change, which proved very difficult to copy over. After talking with my mentor about this, I decided to just add a new staff type to the staff, which would not be visible as an object to the user. This was a lot more successful, although did mean that the user would lose a bit of customisation from it. However, the user would be just as free to add a new staff type change object in its place, in order to get multiple lines, for example.
In allowing changes to percussion staves, I also realised that I could change to tab staves as well. This required a little extra work in order to get it properly working, including uncommenting all of the clefs in the instruments file, which had been commented out over 5 years ago. It didn't take long, though, to get this to a working position.
After doing this work, I started writing tests for my work. This proved quite difficult, and I regret not starting it earlier, as I found that I could not run the mtest facility on my computer, which was using Visual Studio. This meant that I had to essentially write the tests blind, and run them on the CI server, which made development very slow, and I did not feel I had time to set up another environment with MinGW. Despite this, I eventually got the hang of things and got them working.
I would love to continue working on this project after GSoC finishes, and I have learnt a huge amount doing it.