GSoC: Week 7

Posted 3 years ago

The actual PR for the improved Implode tool.

Last week

I was mainly working on bug fixes. Biggest one was the tie thing, where ties weren't connected to next note if there was a measure break between them. This was fixed by a big change to the cloneVoice() method. This method does now get the exact start segment (source), destination segment and the tick of the last segment, so the whole clone process is done in the cloneVoice method. This makes it easier to have a consistent TieMap. This has another positive impact: It is now possible to select a segment as start point and it is really considered as the start point and isn't aligned to the surrounding measure.

freixas mentioned some other bugs of my tool which I partly fixed. One was the inconsistent use of voices for the implode tool. This was because it was calculated for every measure. In the example every note would have been in voice 1 now, every voice is mapped to one voice. Another thing was that transposing instruments weren't handled correctly. This was fixed in cloneVoice() directly be recalculating the tpc values.


Freixas also proposed to rename the "Implode" and "Explode" tools to "Merge" and "Seperate". I'm not a native English speaker and can't say what is better. Any suggestions from your side?

At least I fixed the mtest, so I changed the testfile for the first case to fit the new Implementation.

Next Week

I'll continue working on this if there are more things upcoming. But I'll have some exams the next weeks, so maybe development process will be a bit slower. This doesn't mean that I don't appreciate critics and new ideas.

Until next week,


Could you add more automated tests? I'm sure you have many cases and mscz files that you tried during your development. Add another folder in mtest/libmscore and compare mscz files before and after. Ping me on IRC if you need help with that.