GSoC 2022 - Harp pedalling week 11

Posted 2 months ago

Hi,
As we're getting to the end of GSoC, I spent this week tidying up and making changes based on code reviews. The largest change I made was how pedal diagrams were accessed in the score by the proofreading function and other diagrams - eg. for updating the text of a diagram further ahead in the score based on a change earlier. This was previously done by looping through all elements of a score until a diagram is found. This is being done for all diagrams and noteheads which will not scale well. Instead, upon adding the diagram to the score, a pointer is added to a map of ticks. This map has a few functions to return the diagram currently in effect at a given tick, the previous diagram to calculate changes and the next diagram. This is a much more efficient way of doing things.
I have trialled placing this map in the Part class. Equivalent maps for key signature, time signature and clefs are stored in the Staff class, but we want the diagram to apply to a grand stave. I'm hoping this won't cause any issues and seems to work at the moment.

Next Steps

I need to receive some feedback on my changes in the notation module - this contains the whole UI so I'm anticipating quite a few changes. Then, I'll just need to finalise placement and UI layout with small changes to distances.

Keep up to date with the project below:
- My fork of MuseScore
- This blog on MuseScore.org