A more intuitive, faster selection of multiple elements

• Sep 6, 2019 - 14:59

To get to my issue, a bit of a context: The features I am suggesting are solely to make the work quicker and less error prone. I am not suggesting to introduce possibilities to err. Put walls in place if you must, I don't care how you protect the precious sunday choir users from weird accidents. And I wouldn't. There is an undo button. Accidentally removed note stems? One shortcut: Undo. On the other hand: Not being able to select something? Pointing and clicking till you get it. Continuously selecting stuff you didn't want to? Deselect it and reselect with pointing and clicking till you get it.
Selection in musescore takes a lot more time than necessary and behaves unexpected. I suggest an improvement.

I learned about range and list selection and ideally, I would have liked only one sort of selection and the possibility to add/remove to this selection freely, multiple elements at a time with a filter or by selection box. Instead, in range selection, lots of stuff we only want to select when copy/pasting/deleting is selected and when doing a list selection often range selection is accidentally applied and the process of adding to a selection is very slow, as each element has to be clicked individually.

There is no reason why the user should be made aware of different types of selection and how to switch between them, but if you keep it that way, there are still ways to improve the user experience of this.

I have the following suggestions which may or may not be easy to implement:

  1. Musescore could apply "list selection"-operations to the elements applicable to a list selection when a range selection is selected, instead of doing nothing or applying it only to the first element of the selection.

  2. Musescore could allow for a range selection to include multiple ranges in different systems.

  3. Musescore could make it possible to add multiple notes to a list selection at the same time. Possibly with a shortcut like ctrl+shift+drawing a selection box. (This would also allow for less accurate clicks when adding to a selection, as drawing a selection box is quicker)

  4. Musescore could stop deselecting stuff when a range selection is made and the user presses ctrl+click, as this would in list selection add to the selection.

  5. Musescore could have the option not to apply range selection, for when a user wants to edit notes and may accidentally click on empty space.

  6. The musescore selection filter could be made to apply to list selections and additionally include rests, notestems or other elements. This seems to be the most controversial suggestion, as it may lead to people accidentally deselecting essential stuff and not pasting or deleting correctly. But there are multiple easy fixes to correct for that. One being: When copying/pasting/deleting, just always copy/paste/delete notestems together with their notes, no matter if they are selected. Obviously all elements should behave as expected, no matter the user input. But the user should be able to modify which input he makes at all, so he is not misunderstood by the program.

Statements I want to make, as people seemed to misunderstand me in another thread:
1. The option to not being able to select something and instead selecting nothing is a feature! Not having to deselect, exit modes or even undo stuff regularly speeds up the normal workflow by a significant amount.
2. Entering modes you only want to enter in specific circumstances should not be able to be done by accident (f.e. doing a range selection, which you only want to copy/paste/delete, when trying to make a list selection, which you want to do all the other times).
3. The list selection operation needs a lot more priority. Copy/pasting/deleting in range selection is the smallest amount of effort and the speediest of all things being done in musescore, while selecting and doing operations on notes, which is being done in list selection, is most of the work.
4. Users are trusted to put elements in the right place when disabling automatic placement. They should be trusted to decide which elements they want to select on their own.

Thanks for reading. I hope I expressed myself clearly enough. English is not my first language and I am not very deep into the software structure of musescore, so... Apologies for my mistakes.


Comments

Thanks for the suggestion! I've mentioned this before, but really, if you want us to understand the special situation that causes you to feel the existing facilities are not sufficient, and how you envision your new proposed facility actually helping, we really need you to attach a score and tell us very specifically which things you are trying to select, and then how your proposal would allow this more easily than the current facilities. That way we can understand the real world problem you are trying to solve, and can evaulate any proposals based on that.

Without a score and an exact problem you are trying to solve, it's difficult to say more, but I can nonetheless make some comments on the specifics:

1) is already true for many operations - many can work on ranges or lists, and work as described (eg, "V" for toggling visiblity)
2) is an interesting diea that has come up before, but it's definitely a tricky thing to figure out how to implement, what the UI would even look like for creating such things. It's not a common device in other applications so there no "intuitive" way to do this, but if you have a program in mind you think has provided a particularly clever way of modeling this, feel free to give us a pointer
3) I don't understand what you mean about "priority". I also don't understand what you mean about "doing operations on notes, which is being done in list selection". There are tons of things that can be done with notes, and virtually all of them can be done with range selections. There is very small handful that requires a single or list selection, so again, I'm not sure what problem you are trying to solve here. You've mentioned change duration, a brand new command. OK, so it could certainly be considered to find a way to make this work on range selections. That doesn't require invention new selection mechanisms though. So again, we'd really need to understand the specific problem. Like an actual real world score and an actual real world operation you are trying to perform on it) in order to consider what might help.
4) I don't understand what you are saying here at all. Are you requesting a new feature? What would it look like, and again, what specific real world problem would it solve?

FWIW, overall, since you mention having trouble selecting what you want, easiest solution is just to zoom in when working with tricky selections.

In reply to by Marc Sabatella

You seem to mix your answer between my statements and my suggestions and haven't replied to the most important suggestions. I shouldn't have numbered them both the same way and focused more on my central message. So to put in simple terms:

I suggest most of all the feature, that selection works in a way it works in every other program I know.

The musescore selection should in my humble opinion work like the following:

Click => select
Click+mouse pointer move => select everything in a rectangle shape between press and release of mouse button
ctrl+click(+mouse pointer move) => add (everything in a rectangle shape between press and release of mouse button) to selection [bonus when nothing is selected to move the view]
shift+click => Add everything between previous selection and clicked point to selection (whether original selection or edges or previous selection are included varies between software)

The musescore selection currently works like the following:

click => select
Click+mouse pointer move => either move the score (I expected to additionally press ctrl or alt to achieve that instead) or move the clicked element (I usually don't use that and instead only do that on selected elements, because I have to confirm that I clicked on the correct element, which as I stated often does not happen. To change pitch keyboard shortcuts are quicker)
ctrl+click(+mouse pointer move) => move the score and select the element, if one was hit
shift+click(+mouse pointer move) => do a range selection on one note and its related elements (or everything in a rectangle shape between press and release of mouse button)

I request a feature that every other program I know has. An efficient and exhaustive selection tool.

I'll list a few features I mean:

musescore can not to do the following:
-> Add multiple elements at a time to a selection
-> Remove multiple elements at a time from a selection
-> Expand the range of a selection

it is unnecessarily time consuming to do the following:
-> Please take this seriously: selecting a specific element when zoomed out (yes I know I can just zoom in, select and zoom out again, that shouldn't be necessary)
-> copy a note with only specific related elements (yes I know with the selection filter can make this a little bit quicker than I might assume, but only if you always want to exclude the same specific elements and you would have to change the filter with point and click every time)
-> Have multiple elements in different locations selected
-> Copy multiple related elements from one note to another

I could add a score for you and tell you specific things I want to select and move. I do not need help doing that, I know how to do it and how to do it quickest for most operations. My point is that it is not nearly as efficient as it could be and is unintuitive meaning that I, having worked a lot of hours with musescore, am still surprised and annoyed by unexpected selection behaviour and not being able to do selections that I can do in every other program.
If you are trying to tell me zooming in and out to select solves my issue, a score wouldn't help at all. You'd just tell me that I have no problem, because I can do all the things I want to do.
You don't see why I should be quicker than all the others, who do and have been doing it like that and why software should even enable me to do that.
I am not trying to be mean. I believe that I have to live with this inefficiency till I can afford a proper software.

In reply to by ZachWood

I'm not trying to be mean either here. I'm sure what you are thinking is very clear to you. but without specific examples to consider, it's next to impossible for me to understand what is is you are finding difficult, or how your suggestions would make it easier.

So, when you do attach an example and explain how your suggestions apply, I'm happy to consider the matter further. Also, since you seem to be under the impression that more expensive music notation software already has these features, feel free to tell us how they accomplish the things you are wanting, that also would be helpful for us in trying to understand.

BTW, I'd encourage you in so doing to make separate suggestions in separate threads or it will quickly become very hard to follow. That's kind of how things got off with me attempting to respond to your original numbered suggestions.

In reply to by Marc Sabatella

Try selecting something, press ctrl and select multiple elements elsewhere. All selected elements are now selected, I don't have a program that does not do that, except for musescore. In musescore, if I change the selection to list selection, then it is possible to add singular elements to a selection. Adding multiple elements to a selection at the same time is not supported by musescore.

You want me to show a score, where I would need to select (and manipulate) multiple elements. All the scores. All the time. Everybody could be more efficient with that ability. If it isn't obviously an improvement for you to be able to select elements at will, we don't have to discuss this.
You are not going to help me. You are ignoring the issue. You are condescending. I expected more from an educator.

I went through all stages of grief about this and as I said, I accepted that the musescore team doesn't improve the selection tools. If it even understands that it could be improved, it is either not competent enough to do this or the software architecture is designed in a way to resist improvement.
Either way I shouldn't waste my time talking about this to myself.

In reply to by ZachWood

You are not talking to your yourself, and we do constantly improve the selection tools (the change I made recently involving noteheads and stems, and involving Ctrl+click of overlapping elements, are but two examples, we made others that only just appeared in the 3.3 beta, etc). We always listen to feedback. When we ask for clarification, it's because we really want to understand.

As you've observed, MuseScore does add to a list selection with Ctrl+click just like all other programs do. it's just that MuseScore, like most notation programs, also has a concept of a range selection, and as is the case in most other notation programs, they do work a bit differently. It sounds like you are requesting a feature where Ctrl+click automatically converts a range selection to a list selection. Although I don't know this is standard behavior among other notation programs, I could certainly see it being done. But the question is, what should that look like? The range selection includes the dynamics, slurs, text, and everything else in the range (consistent with the definition of a range). Should those be kept in the list selection? Or should it be converted to a list selection of Notes only? Or, maybe, a list selection with only elements that have the same type as the Cltr+clicked element? In order to understand, again we'd need to see some real world use cases for such a feature in order to understand what would be the most useful. Meaning, again, an actual score, a specific case of a selection that comes up in normal usage where this facility would be useful, then we can see which implementation would make the most sense.

Do note that you can already right-click any elements within a range selection and use Select / All Similar Elements in Range Selection to convert, then use Ctrl+click to add more. As well as the options in Select / More.
So there already are very powerful tools for this sort of thing - more than pretty much much any other notation program I can think of, actually.

As for "adding multiple elements to a selection", this is a part I specifically don't understand, and can't think of any other program that does this or how it would work (some sort of keyboard modifier while doing a drag select, perhaps). Here is where I asked you show examples of such other examples so we can understand the user expectations better.

So again, if you're serious about wanting to see MuseScore improve in these area, please help us (and yourself) by really thinking about what I am asking here and helping us understand.

In reply to by Marc Sabatella

Thank you for helping me understand your process and being a lot more patient than I am.
I can now be more precise about what would satisfy me.
Drag select was the word I was looking for! That is the feature that I meant every other software has. Try drag selection in your browser, in your file manager , it works for any selectable element in any software I have but musescore. Add the keyboard modifiers ctrl or shift and have special neat cases of adding to a selection or selecting elements in an area.
This is missing in musescore. Right now drag selection only works to do range selections and no adding to the selection with drag selection and the keyboard modifier ctrl is possible.
This is the basic issue that I'll focus on now first.

Nevermind that the actual issue is having two different selection modi. It is not necessary or helpful and leads to most of the issues that I am having. I can request features to minimize the usability problems stemming from this, for example to be able to disable one of the selection modes, but it would be better to just get rid of it.
Unify range and list selections, put every element in the selection filter and allow handy shortcuts for disabling selecting something. Keep it simple.

In reply to by ZachWood

Drag select works in MuseScore, you just need to hold Shift to enable. It does list selection if you don't include notes, range selection if you do, because that's the normal use case (list selections of notes are not needed nearly as often as range selections). It's not clear what the real world use case would be for a list selection that contains notes, accidentals, fingerings, stems, barlines, and all the other things that would be included otherwise in a drag selection within the staff. But if you have such a real world use case in mind, feel free to share a score and explain in more detail. And then, consider submitting a formal Suggestion for this in the issue tracker. As it is though, my guess is you don't really want everything selected, but only the notes, which is why first doing the range selection then pressing Notes is the way to handle that particular use case.

The addition of a modifier like Ctrl to allow one to add drag-select to add to selection is interesting. This far from a universal thing - the text editor in Chrome which is where I'm typing this certainly can't do it, but I can verify that Explorer does. Again, feel free to file a formal "Suggestion" for this.

Having different types of selection is an extremely important feature, not an "issue". There are different ypes of operations in the world, and some really require ranges, and these are so common that we also require shortcuts etc for efficient creation and modification of range selections. List selections that are differentiate by type or by location within a staff or range are also super important, which is why there are special commands for dealing with those.

As one example of why having both types of selection is essential, consider, a range selection by definition needs to be contiguous in order to function correctly for many of the operations that are performed on it, and there need to be very efficient ways of extending the range selection one note or measure at a time but across multiple staves, etc - things that simply have no analog in the world of list selections. And yet, we can't make everything a range or you'd loe the disability to have discontiguous selections.

That is why virtually every notation program in the world has similar distinctions. Music is just different from other types of data, and working with it effectively requires special techniques that don't apply to most other types of programs.

In reply to by Marc Sabatella

Success! Thank you, I guess we converged after all. You seem to understand my issues and give me reasons why they are not universal and debatable. Apparently people use range selection as a standard more often than I do and they don't care when the program decides for them what they want to select. I would want list selection to be the standard, or at least to be able to modify how something is selected, when there are different selection modes. It would have a certain simplicity and intuitive handling, if the program wouldn't assume for me what kind of selection I want to make.
I work mostly with orchestra arrangements, being able to select a lot of notes at the same time, zoomed out, would be crucially time saving for me, but maybe not many others I agree. (You are right btw. , I mostly want to select notes, but also deleting many staccati or so at the same time comes to mind).
Now I can add a score for you, but it would be wasting both our time.

You defend musescores current system well and I understand why the program evolved like it is. Range selection has still no use that it wouldn't have as a list selection. Just imagine a list selection being modifiable like the current range selection, and behaving as such when the selected elements are contiguous. It could have the frame and really everything those range selection users need. Maybe make an option to make the selection contiguous (that would be as intuitive as having an option to make the selection "uncontiguous" right now, the way you suggested). Maybe make it an option in a new selection filter then to always select a range of elements like the current range selection works (and like the selection filter now only works for range selection). It could be the default even and users like me could just disable this (forever and hide the button through a custom plugin to not be reminded of this). There are very few operations left that would need to be adjusted, to achieve that neither list selection nor range selection users will feel an issue, and there are lots of features to be gained.

Musescore can keep the selection system they way it is. I am certain once people are used to a good program, that does not only compare with other programs, but compete with itself, they will strive for efficiency. And if I am right and not the only one who profits from the features I suggested, users will push for them to be implemented. Maybe I will contribute to this or at least file a formal suggestion, because it would save me a lot of time, for example just to have this ctrl+drag select to add elements to a selection.

Expanding on the use of this ctrl+drag selection to add to a selection: This system would gain a lot of efficiency by having a general selection filter for list selection, as I had suggested eariler. Even being able to drag select to add one element to a selection would make the process quicker, as the pointer doesn't have to be that precise. Not accidentally adding stems or other other unwanted elements by being able to disable selection of those is even better. The possibility to add multiple elements in a range: Bonus!

I faintly remember having an old basic free version of the German music notation software Forte back in 2006 and it behaved better than musescore. Select a measure and everything in it was selected like a range selection, when clicking strg+deselect one element, it wasn't selected as a whole anymore, but all it's elements (except for the deselected element). Granted copy/pasting was a bag of surprise when you did that as no default inserts of rests or so was set, but hey it was 2006 in a free sample version and they had a selection tool that I would wish for today.

In reply to by ZachWood

Can you explain what you list selection (involving notes specifically) so often for? other than the brand new change duration command, I can't really think of anything that requires list selection of notes rather than range, but can think of dozens that are the other way. Again, with real world use cases we can understand, the chances of someone actually implementing new features go up big time.

In reply to by Marc Sabatella

Thank you for taking me seriously!
I only need list selection because range selection needs to be contiguous and I usually do not want to edit contiguous notes but certain notes at a time. I use it for almost all operations except for plain note input:
1. Adding articulation/dynamics/lines/etc. [to multiple notes obviously]
2. Deleting [multiple] notes/articulations/dynamics/lines/etc.
3. Changing [multiple] notes/articulations/dynamics/etc.

This is all about efficiency, not having to click on everything in between of doing operations, just select everything and do the operation once.

The only time I intend to select contiguous notes is when I want to copy/paste/delete sections (but list selection does not forbid contiguous selection, so I would be fine with list selection there too).
Can you tell my why people would use range selection that much? I can't think of a reason except for the drag select mode, and there is no reason why that couldn't be implemented for list selection as well.

In reply to by ZachWood

So, you are talking about selecting notes and notes only? Or, in other cases, selecting multiple articualtions and articulations only? Meaning drag-select won't help, since in either case it will also grab other things (as would be the case in any program). And besides, dragging is far slower than clicking. So unfortunately, I'm still stuck not understanding what you mean without an actual honest to goodness score where you can show me the specific elements you are trying to select, so we can try to come up with an efficient way of doing just that and not something else.

As for range selections, they are used hundreds of times a day in ordinary usage. Copy/paste, deletion, stretch, transposition, applying lines, clefs, or key or time signatures to a range, applying articulations to all notes in a range, explode, implode, slash notation, using as a starting place for the "Select" dialog to then fine-tune a list selection to only includes elements within that range - the possibilities are endless, really.

In reply to by Marc Sabatella

Here's another spin on the question of how one would actually implement something:

Imagine how you'd do the same thing in Inkscape, or your favorite drawing/graphics program. That is, a score that is creating entirely by placing geometric shapes or other symbols onto a blank background (or one with "preprinted" staff lines as a background, to simplify the question a bit). How would you make your discontiguous selection of notes only, or articulations only, etc, in that program? You seem to be familiar with programs that make this easy (I've never encountered one, personally) so maybe put together a screencast video showing how you do in one of those other programs. That would help give us ideas.

In reply to by Marc Sabatella

I will do that as soon as I find the time.
I haven't used Inkscape in a while but I am 90% sure it has the option to keypress+drag select to add elements to a selection and another keypress+drag select to remove elements from a selection like GIMP and other graphic programs do it. That is basically what I am asking for musescore.
In GIMP I would make my selection of articulations only by putting them on a separate layer and only selecting elements on that layer. I am sure musescore has object identifiers that can be filtered out without this workaround though because it already has a selection filter.

I have no idea how to program this in particular, but the logic behind it is simple:
IF element is within selection frame AND IF element identifier is element of "list of element types selected in the selection filter" DO add element to selection

In reply to by ZachWood

Oh, I get how Ctrl+drag could work to add to a selection. What I don't get is how drag selecting individual notes that are surrounded by other notes would actually work. As far as I can, in any real world score with a real world situation you wanted to do this, you'd quickly discover that drag select is going to accidentally select other things you didn't intend to select and is thus less* acurate and thus slower than clicking. This is why I'd want to see you manage to do this sort of drag select so carefully that you avoid these problems, and yet still manage to be faster than a simple click. Right now that just seems flat out impossible to me.

In reply to by Marc Sabatella

There are three different features I was talking about relating to this and I might be repeating myself:
1. Being able to use drag select to add or substract a range of elements to or from a selection.
2. Having a selection filter that works on these selections, to not accidentally select unwanted elements (this would allow to drag select and only individual notes as specified in the filter are selected).
3. Not having the default to select ranges and to select one element at a time only, or being able to change the default. It would already help me greatly if my carefully picked out elements are not deselected after every operation or when I misclick.

You might be right that only having the first feature wouldn't necessarily be quicker for individual elements as often unwanted elements would be accidentally selected. My case is that together with a selection filter it would be quicker. Just being able to add multiple elements to a selection even if they are only contiguous elements is a small feature for itself though.
My case for drag select still stands.
I may just be used to being able to use drag select, especially to add to a selection. I guess point and click would be fine for most cases when the selection filter would work for this kind of selection and be expanded, that I wouldn't accidentally select note stems, rests, barlines, or different notes with different length, messing up my selection. Also, when I point and click and the mouse jitters while clicking (or I even don't have one and just an inaccurate trackpad or I am on the bus), it results in way worse results than with drag select, where I can wait with the release of the mouse button till I am certain of the position.

So: In one case it is a feature to make selection less error prone, in another a feature to speed up selection.

In reply to by Marc Sabatella

Drag select doesn't have to select everything, it already doesn't in range selection with the selection filter.
Drag+select is quicker than point+click for small elements and it does not need to be as accurate.
I showed you an example in an other thread: I am still trying to select and change the glissandi and these 8th notes in 10 different measures in 15 different instruments. (Really only the 8th that are followed by a glissando and not all glissandi, there are others within the range, that I do not want to select.) selecting.png
Right now I have to individually select every 8th note and accurately click on it, for every operation I want to do on them, I have to click on all of them again, because they are deselected.
To make this process a lot quicker, and take 10 seconds instead of 10 Minutes I would want to
1. Roughly drag select
2. Multiple notes/elements at a time
3. Zoomed out
4. To add to the selection
5. Not get my selection deselected either by mistake or by doing an operation

But because this sort of process is so tedious in musescore, I moved on in the score and didn't adjust this yet. Before I can give the score to the orchestra, I'll have to sit there at least 10 hours doing nothing but point and click to work on this sort of thing. And please don't insinuate that is just how long it is supposed to take and there is no need to offer more efficient selection...

As for the uses of range selection: None of the operations, if programmed accordingly, seem to need contiguous elements. And if they would have unexpected results for uncontiguous elements, like stretch might, they could just be disabled if uncontiguous elements are selected. Selecting contiguous elements will always be easy with a drag select mode and if no alterations are made to a single drag selection, all elements are contiguous and all the operations that right now would need range selection would then work anyways. Either way there is no need to have a mode that forces contiguous selection.

Attachment Size
selecting.png 17.08 KB

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