Open KleinkMusic opened 10 months ago
There is no such thing as a range selection of just hairpins - by definition, they include all content of a selected range. What you are trying to create is a list selection. And indeed, the click / shift+click method of creating such selections is only supported for certain types of elements - basically, those for which it was really easy to implement.
In principle it would be possible to extend this to work for more element types, and that would indeed be a nice enhancement.
There is no such thing as a range selection of just hairpins - by definition, they include all content of a selected range. What you are trying to create is a list selection. And indeed, the click / shift+click method of creating such selections is only supported for certain types of elements - basically, those for which it was really easy to implement.
In principle it would be possible to extend this to work for more element types, and that would indeed be a nice enhancement.
Ah, yes. Thanks for the clarification. List selection is indeed what I meant.
Came up again in https://github.com/musescore/MuseScore/issues/20664. I don't see how a new design is needed. The design model of click / shift+click is well established; it's just not currently supported for lines.
It is probably just a small tweak to the existing code to handle Shift+click in https://github.com/musescore/MuseScore/blob/22edc527d01c7667b43cf34e56129ebc6ed6c657/src/engraving/dom/score.cpp#L3574 (like maybe checking start tick and end tick explicitly). Unless somehow the click action is intercepting this earlier.
Ok surprise for me was that shift+click even created a list selection.
I had always understood it to be a range selection control, while cmd/ctrl is what you'd usually use for list selections.
In effect, shift+click can perform a list selection of a certain type of element. This is useful...if you even know this function exists (and you'd have to either discover it via documentation or accidentally when clicking on the right kind of object).
As for line objects, shift now performs an additional function w.r.to the new anchors system. I fear that adding mass list-selection capabilities to this will result in quite awkward UX.
But there's obviously a real problem to be solved still: I.e. how to enable a list selection of line objects en masse in a way that's discoverable and doesn't conflict with any other interaction.
That's why I think this needs design.
FWIW we will have a new selection filter coming soon, which should make it much easier to quickly filter items such as hairpins/dynamics/lines, etc.
FWIW, the click / Shift+click method of creating list selections was a "relatively" recent addition to MuseScore - maybe around 3.4 or so. But it was a pretty popular recurring request - lots of people seemed to think it was a very natural way of making these selections and were surprised when it didn't work previously. And it is quite handy. But yeah, I get that it could be a little complicated with respect to lines.
Issue type
UI bug
Bug description
Whenever I try to shift-click a select few types of score elements (most notably hairpins, caesuras, or other pause types) those elements get de-selected.
Steps to reproduce
Screenshots/Screen recordings
https://github.com/musescore/MuseScore/assets/104653161/55afc135-369b-4e39-8689-22f88b5c077d
MuseScore Version
4.1.1
Regression
I don't know
Operating system
Windows 11
Additional context
No response