Selection filter - improving usability

• May 9, 2020 - 10:52

The selection filter in musescore to me is one of the most brilliant ideas and unique tools in this program. It has a great potential for aiding complex editing, However it seems to have couple "usability" issues, which prevent it from becoming more handy.

  • Possibility to assign keyboard shortcuts to the various options of the selection filter i.e. check/uncheck all, check/uncheck 2nd voice, etc.

This is a basic convenience that many tools already have. An additional way to use the tool for those, who do most of editing work using keyboard.

  • make selection filter to be applied only to the currently selected area and only for a the current selection command, so that once you've copied/cut out the passage, or selected another range, the filter would be automatically reset.

The most common scenario of using this filter I can think of is:
a user wants to select/filter out a certain type of elements, that cannot be conveniently selected using normal range selection i.e. a 2nd voice, dynamics, chord symbols etc. However, situation like this mostly occurs when a user wants to select and manipulate a specific range of notes or measures. So why should it be activated for the entire score like it is now? After all if you do need to select all measures of the given staff, you can still do it and then apply the filter on that entire range.

  • unchecking "all" option basically disables the selection that was made already. Wouldn't it be better in this scenario to make the filter "wait" for a selection option, instead of cancelling selection?
    A further development of the idea would be to make a filter to work either "exclusively" or "subtractively". For example this could be done by adding another "check" option in the filter bottom panel, that switches between the "new" exclusive mode and the current mode/behaviour. So in exclusive mode all the options would remain unchecked by default, but the range selection is still possible. once selection is done, checking specific option would select the given types of objects, while filtering out everything else.

Of course it is possible to first open the filter, check/uncheck specific types of objets, that will be selected and then select the group of measures and select/filter them out. However what is more likely to happen is that the user will first select the range of measures and then will try to define which elements he/she want's to select. So in case this happens, unchecking "all" option basically disables selection, and the user has to start all over.


I like the idea of having the selection filter reset itself somehow, although I also think it would best to be able to defeat that as often I actually do want to let it ride a little while. Of course those are the cases where I'm most likely to forget to turn it off. So anyhow, it would be important to think through the design of this.

I'm not outstanding what you are trying to accomplish with respect to unselecting all, though. What is the use case? If you are thinking that might be a good first step if the eventual goal is to select only dynamics, say, without the notes, you won't get there that way - the filter is not designed to be able to do that. All it does is remove things from a range selection selection, while still leaving it a range select. It can't build list selections, and that's what a selection of just dynamics would be. For that, there is the right-click menu. But that in itself is a good opportunity for improvement - in principle one could design a new selection utility that provided for both types of selection (range and list) under one roof. So to me, that's where the design effort should focus.

Regarding shortcuts, as mentioned, as I mentioned in one of the other recent threads on this subject, I'm not really in favor of having a full-fledged keyboard shortcut for each and every control in each and every dialog. The normal way to achieve better keyboard control is to make sure ordinary navigation works, with tab, cursor keys, etc. At most, a "mnemonic" system like exists for menus and dialog boxes.

In reply to by Marc Sabatella

"For that, there is the right-click menu."

Unfortunately right click menu is a bit too limited and cannot do what selection filter does. Filter has a much more comprehensive list of options. For example I tried to copy out the entire 2nd voice using the right click menu, you can't do that as it will only select either the noteheads, or the rests of the second voice. They are not even close in terms of functionality for that kind of use cases. If you want to use right click on a range selection you still have to point-click on the specific elements, that you want to list select, and it took me a lot of fiddling around to understand why I could not list select items from some range selections. Because in range selection you don't actually see if you've selected something or not. At least that how it behaved in my case. So the both have shortcomings, but at list with selection filter you can achieve what you need. You can actually do list selection with it, but it just involves more forward thinking and switching on/off multiple times:
In a selection filter deselect all, select just one option like voice 2, then select the measure - you have a list selection of voice 2 notes and rests. Check both: "Dynamics" + the voice 2 option and you can have all green notes, green rests and green dynamics selected (complete voice two). Then copy it to another measure, check "all" option again, done. It does pretty much everything including a "list" selection, if it would only take less clicks and concentration to do what you want. So if the new design would be developed I would prefer it to be similar to the selection filter, just the other way around. So that you range select something, press the option (2nd voice, chord symbols, dynamics etc.) with the ability to add more options one by one rather than having to uncheck them one by one.

In reply to by antonjazzsax

Both are limtied, that's the point, Selection filter can only take a range selection and subtract things from it No amount of tweaking its UI will change the fact that this is the only thing it is capable of doing: modify a range selection. It will never in way help with creating a list selection. Whereas the right-click menu does on thing and one thing only, and that is help you create list selections, it will never in any way help you make a range selection.

So you do need to understand the distinction between range and list selection. Copy/paste of notes works on ranges, and yes, the selection filter can be relevant for that, but normally you wouldn't need or want to unselect all the checkboxes as part of that process. Unless you have some special use case where you do, which is why I am always asking people to post real world scores and describe in more detail some real world use case where they want to do something. just because I have literally never done something in the five years the Selection Filter has been available doesn't mean a use case doesn't exist, it just means I need help understanding it. There are plenty of times I've wanted to copy only voicwe 2, but in most of those cases I've wanted the marking attached to that voice attached, and there is almost never anything in voices 2 or 4 anyhow, so all I normally need to do is deselect voice 1. If you have some use case where you literally are needing to select voice 2 notes only and no other markings, that would be good to understand, so we can consider the best way to design a new facility that really solves that as well as the other real world use cases we know are not handled as well as they could be.

In reply to by Marc Sabatella

I think it mostly comes down to the fact that you have to reset the filter immediately after it was used for initial selection is what's bugging. Also having these two different tools side by side for different yet similar tasks is a bit confusing. You aren't really sure, what you should use where, until you fully understood the (somewhat counter intuitive) behaviour of both.This is what makes the usability of these tools a matter of discussion. I didn't really make the case about the functionality of either of these tools. Once you understand how they tick , you can use them for what you need. But it really should be more straightforward from the start.

In reply to by Marc Sabatella

In the meantime however it might be not such a bad idea to do at least a quick fix on the existing devices, that would not take too much effort to do. For filter i like the Jeetee's idea to make filter activite on the switch on only. If it is really something easy to do that would help. For list selection, there is this one thing that is confusing. When you do a range selection all elements become selected, so of you right click on any of it, you don't have a visual feedback, that something is selected, and that is a source of confusion. I understand, that this is how list selection works for now, but If there would be some kind of visual sign, that something is clicked and ready for the list selection within that range selection, that would be helpful.

In reply to by antonjazzsax

Yes, and ideally I'd go further - could be nice if the filter cleared itself the moment you perform an operation on that selection. Might not be such a good idea in practice, but somehow it feels the filter should be self-clearing without needing to actually close it (which I personally don't tend to do, once I open it I leave it open a while).

In reply to by Marc Sabatella

I just thought a little about what you've said about new design for the filter, what it could be like. What if it doesn't have to be changed THAT much at least from the appearance. Here is the idea:
Let's suppose, that the feature of copying and pasting multiple ctrl. selected notes gets finally implemented. So that multiple objets of any kind can be ctrl selected, copied and pasted. In that case, it seems to me possible to have a selection filter that doesn't remove objects from range selections like the current one, but selects objects in a similar way a right click selection does - i.e the "ctrl selection". The filter would then need a new button, something like "select chosen". So you make a range selection as normal, then you choose an option in the "new" filter and press the new "select chosen" button. Pressing that button removes a range range selection and creates a ctrl selection of all objects that were opted for instead. The advantage is you can still have all detailed options like in the current "selection filter". If it would be possible to make something like a switch between current type of selection filter, and the new one that would be two types "under the same hut" as you meant. Both would look similar and familiar and be in the same panel, only would be switchable. On the other hand the right click would remain an important addition, specifically for the purpose of "select similar", which is not represent in the "selection filter".

In reply to by antonjazzsax

Yes, something like that could indeed make sense. Even if it there is never a way to copy discontinuous selections (and I rather doubt there would be, as it's basically impossible to even define what the expected results would be except in the very simplest of cases). Still, the Select menu is far more powerful than just what can be done this way - things like all the options in the More dialog would also need to be handled. So it's still a pretty major change and would take a lot of though to do this in a way that really feels natural. No doubt this is something that will happen eventually, probably for 4.0 or later.

What I've found myself doing is quite often having to toggle between a voice selection and all during selective copy-pasting of a score. The bother then is that you have to reconfigure the specific subset of the selection filter every time.

So I'd like to propose (aside from, or on top of your proposal) something like this (which might be quite easy to implement:
Make it so the selection filter is only effective when it's opened. That would allow you to quickly switch between a given subselection filter you're currently working with and all (for easier range selection).
In this scenario we'd of course not opt for auto-clearing the filter after each selection.

In reply to by jeetee

That looks like the easiest solution and most logical. If you want to select something out, you open the window, check the option you need select the measure - you have your selection. Close the filter. I like it :-)
Indeed voice 1 and voice two copy pasting is the use case that is very common, the one that I had in mind for this thread.

Do you still have an unanswered question? Please log in first to post your question.