GSoC: Week 5
The actual PR for the new excerpts dialog.
Last week I didn't change much on my project, I just added a test to make sure part creation is working. A benefit of the actual implementation is that there always has to be a track map, so all the old tests are testing the same things but the part creation itself has changed. The fact that the creation of part doesn't differ significant from a part with just a few voices. So we don't really need to add tests for the new implementation, we could simply use the old.
A bit more detailed: If the track mapping is working for for full tracks it will work for the not full track as well, because it also uses mapped tracks to change Elements and all the stuff.
Another thing was the exchangevoices tool. This doesn't work anymore after I switched to the QMultiMap. We decided to prohibit changing voices in the excerpts, because it'll cause lots of problems and isn't often used at all. So the only point where you can use the tool is in the score. We also wanted to have all the voices in the score and in the parts consistent, which is much easier to implement and does make more sense, because you are creating an excerpt for a voice and so you want to have it always mapped to the part.
The problem with this decision is, that we'll sometimes have to change the content of an excerpt because it's the only way to keep the part scores consistent with the score.
My implementation uses a new Method for Excerpts called cloneVoice(). It does simply clone a voice of a measure in the score to a specified voice and measure in the excerpt. Maybe we could add this to the edit.cpp and make it a method of score, so we could use this for my other project, the Implode and Explode tool.
Besides those two main things I had a look on the actual MIDI output by playing a part. Actually we just get the sound of the score, and I didn't fully understand why and I don't know how to fix it, so this will have to wait until Werner will fix it or specify what he wants to do with the MIDI for 3.0.
I also added a new test for the gaps implementation of the beginning, but this doesn't make much sense in the moment, because I had to change some things I did in the excerptsdialog PR. So this test will be updated once the other PR is merged.
I hope next week we can resolve most of the issues with the excerptsdialog so I can start with the Implode and Explode tool.
Until next week,