GSoC: Week 6
The actual PR for the improved Implode tool.
I changed cloneVoice() from being an excerpt method to being a score method in edit.cpp and used it in my first attempt for the improved implode tool.
We have had a discussion for this tool here and a big thing is that we have different demands for this tool. So freixas suggested to add a new UI for the different implode/merge options we could have. For me and my project I think the aim is to provide a Implode tool which can deal with mixed rhythms, because I think this is a good base for any further development in this area. Two pictures to show the actual behavior of the Implode tool:
So as we can see the voice merging itself seems to work. A problem are tied notes over measures. It might be better to give cloneVoice() start and end Segment instead of just one Measure, so we can do the clone Voice much more specific/individually and we won't have problems with tied notes, but this needs some more investigation.
As I already mentioned my aim is to provide a Implode tool which can deal with multiple rhythms, so for the Implode tool we have two different behaviors. If we select a range over multiple staffs we get the behavior showed above, but if we select a single staff we merge the voices in the staff to voice 1. Actually we are simply applying everything to the rhythms of voice 1. In the discussion mentioned above the idea came up to merge them by splitting notes in combinations and tie notes to get the rhythm we need. I'll have a look at this during next week. Do you think MuseScore will benefit from something like that or is it just wasted time?
Another thing freixas and I thought about are the potential use cases of Implode. We got the following:
- Piano reduction
- a2 notation
- Choral music (S-A to SA)
are there any other you can think of?
I'll continue working on the Implode tool. Top aim is to fix some issues with tied notes and the cloneVoice() in general.
Until next week,