17 August 2014

I am glad to say that I have completed my work on the selection filter for Google Summer of Code 2014. In this post I will try to summarise main changes I have introduced.


In the beginning I have worked to add highlighting for all elements that are affected by actions on the selection. As of now, if any element is copied or removed as a part of a range selection, it is properly highlighted. Spanners are an exception, I have talked about them in a previous post.

Selection Filter

After fixing issues with highlighting I have started to work on the selection filter. The work went well, but had to change the solution to be less invasive. To access the filter window you press F6, or click on View->Selection Filter. The filter works mostly on copy. By default all checkboxes are checked, and the copied range selection is copied fully. A user can untick a checkbox next to an element type that should not be copied.

The filter also works on the delete function, but only with the first four checkboxes - voices. With this a user can copy paste a single voice, and also delete chosen voices in a range selection.

Similar element in Range and Similar Subtype

This new feature proved to be a nice addition which did not need much work. MuseScore already had 2 similar functions implemented: Select Similar Element and Select Similar Element in Same Staff. I had to modify the existing code to take into account the present range selection. I have also added filtering by subtype which is visible in the Select Window.

Voice Copy Paste

I have fixed most copy paste issue which allowed me to apply the filter on voices. The main problem was not calling the makeGap function. I have modified the functions to take into account other voices.

What's next

I plan to help around until the start of my university semester which start at the beginning of October. If anybody has any questions about my work feel free to contact me on IRC or via mail.