GSoC: Week 10
Last week I worked for the most of the time on the Explode tool. It does work quite properly now even if there are some small bugs remaining. The implementation again uses the cloneVoice method and the new achievement is an explode tool which is able to handle multiple voices in the source staff. If there is only voice one it does explode every note of a chord to the staffs below. This was already the current behavior for the explode tool. The new thing is now that if there is more than one voice it does explode every voice (no chord splitting) to the staffs below. Actually the Explode tool simply overwrites the content in the staffs below. My idea was (even if I don't think this is a common scenario) to add the voice to the next free voice in the destination staffs, so we don't get in conflict with already written notes. For me it's often annoying if I loose some written things, but as I already said I don't think explode is used when there is content in the staffs below.
The undo cloneVoice object was again modified because for explode it's common that it deletes the content which is exploded from the source staff. Because I use the cloneVoice method in all three PR's I tried to keep them up to date this weekend and check where are bugs coming up using the other tools. So the actual version in my PR's is working for the three different tools. My next step here will be to add the spanner cloning.
Personally I don't want to clone the dynamics and stuff like this automatically. For me the Implode/Explode and exchangevoices tools are fundamental tools which should do their work correct but mustn't include much additional stuff. I can't check in the moment but I'm not sure what Finale and others are doing here. This is my opinion if there are other thoughts on this don't hesitate and contact me.
I did create a simple test, but I have to make it a bit more extensive so it checks more things. This test isn't in the PR yet.
Actually I detected some problems with undoing the action, so I'll have to check this first.
I'm sure there will be more bugs when I create my tests next week, so this will be main thing I'm working on. Then the slur clone for the cloneVoice will come next. I hope I can solve this similarly to the already merged fix in the exchangevoices tool.
Thanks for testing and your response,