Why does rectangular/dragging select include notes not inside the rectangle?

• May 13, 2021 - 09:41

Is there a way to use dragging/rectangular select such that ONLY notes inside the rectangle are selected? I'm finding that all notes on the staff within the horizontal range are getting selected, effectively ignoring the vertical limits of the rectangle. As you drag the rectangle it highlights the expected notes, so it has the logic to do what I was hoping for, but once you release the mouse button, it expands the selection to all notes on the staff (within the horizontal scope of the rectangle) which definitely isn't what I want.


In reply to by Jojo-Schmitz

Yes, so I'm using "Drag selection" as outlined there. But nothing explains why the actual notes that are selected after releasing the mouse button expands to include all notes on the staff, even those above and below the rectangle I've dragged. And because of this it's very painful to take a long passage of music where all notes below a certain pitch need to be shifted into the left hand piano staff in order to facilitate cross-staff beaming.
The selection filter doesn't, as far as I can tell, allow you to specify a minimum or maximum pitch.

NB this has already been reported as a bug: https://musescore.org/en/node/290854

In reply to by Dylan Nicholson1

This is by design because the vast majority of the time when people want to make a selection, they want a range selection, not a discontinuous selection of individual notes. That's pretty rare to want - you describe a corner case probably only 1% of people will ever encounter - but in the cases where you do want it, Ctrl+click is the way to go. Or recognize that this is really going to need to be all notes within a given range for a particular voice, and thus the Selection Filter does do the job. Or simply move the notes as you enter them.

If you attach your score and describe a particular place where you are having trouble, we can understand and advise better.

In reply to by Dylan Nicholson1

A workaround using current facilities would be to use the "split staff" command to split it on a given pitch. Then do whatever you wanted and implode those two staves again; with finally removing the now obsolete 2nd stave.

You might also want to look into the PruneStack plugin, which for example can select all top (or all but the top) notes from a chord.

In reply to by jeetee

"for notes to be beamed, they have to belong to the same staff and voice"

Regarding voices this is correct, only notes in the same voice can be beamed together. However, staff notes that are initially entered on one staff of a multi-staff instrument (e.g. piano) can be moved to the other staff together with any beaming - in fact MuseScore treats them as "belonging" to the staff they were entered on.

In reply to by SteveBlower

So "technically" that would still make my statement true, whilst cross-staff notes are displayed on a different staff, they still belong to the original staff. As can be witnessed by the "gap" they leave in their origin staff as well as the reported staff for them in the status bar.
They are merely visually displaced but still belong to the same staff technically speaking.

In reply to by jeetee

Yes, it is MuseScore's special interpretation of "belonging".

The gap in the "origin" stave is normal notation practice. Taking a piano score as an example, a beamed set of notes that starts on the lower stave and ends on the upper stave would indicate that it is all to be played with the left hand. Rests would not be appropriate on the lower stave when the notes are moved to the upper stave as the left hand is not resting, as in this example from a Bergmueller Etude.

Cross Staff.jpg

In reply to by SteveBlower

I disagree it indicates they're to be played all in one hand, just that it's to be thought of musically as one "phrase". The music I'm working with is hundreds of measures of music that is beamed between staves but the staff still indicates the most appropriate hand. If you wanted to show that they all should be played by the same hand you'd typically leave them on the same staff with clef changes as needed.

In reply to by jeetee

Yes they have to "belong" the same staff, but I can't see any way of assigning which staff notes belong to while retaining which staff they display on. That would seem quite a useful feature actually (you can do it with Encore, though that uses a different mechanism where piano staves are a special case - normally you can't beam between staves at all).

In reply to by Dylan Nicholson1

  1. Right-click your RH staff and choose Split Staff.
  2. Choose your middle C as split point
  3. Select the newly generated staff and the original LH staff
  4. Tools > Implode (merges the original LH staff with the generated staff, each in their own voice)
  5. Edit > Instruments
  6. Remove the original LH staff
  7. Select the now newly merged LH staff
  8. Tools > Implode (to merge the different voices back into a single voice where possible)

Now you can go over your new LH staff and cross-staff notes as required.

In reply to by jeetee

Just tried that, don't understand how it helps, I end up with the notes above middle C in voice 1 and notes below middle C in voice 2 on a single staff?
Point is I want to take all the notes below middle C and "shift" them to display on the LH staff, even though they still "belong" to the RH staff. Which seems to require manually ctrl+clicking on every note.

In reply to by Dylan Nicholson1

It might help to take a step back and better understand how you got yourself into such a mess to begin with. i gather some sort of import was involved. Is there a reason the program you imported from couldn't have sorted this out for you, rather than trying to get MuseScore to try to clean up the mess after the fact?

Anyhow, if you have content split the way you want between voices, it should now be a simple matter to copy/paste the voice 2 notes to the bottom staff using the Selection Filter.

In reply to by Marc Sabatella

The source just had the pitches/durations, nothing else. Even if I'd played them into Musescore directly I'd have the same problem.
How can I copy/paste the voice 2 notes to the bottom staff such that they still belong to the top staff and can be beamed together with them?

I tried using the selection filter, ctrl+shift+down to "shift" their display to the LH staff, then changing to voice 1 - but they just jumped back up to the RH staff again!

So then I tried the other way - changing the notes in the RH staff to voice 2 - and finally I was able to get something like what I wanted, except there's a bunch of rests I don't want (yes I can hide them but they're still distracting when working with the score), and I can't get it back into voice 1 (which isn't strictly necessary but seems weird just to have everything in voice 2). I've attached the result of my experiments below.

My example is something like the following: https://storage.googleapis.com/wzukusers/user-19931444/images/5afacbe76…

Just a steady single stream of notes, where all notes above middle C are shown in the RH staff and all below in the LH staff, but are beamed together.

This is an example from a traditionally engraved score BTW, that also shows how stem spacing is usually done, where the stems are spaced evenly rather than the noteheads: https://makemusic.zendesk.com/hc/user_images/n07rWLkGOXdNBnZ1r5Ca3Q.png

Attachment Size
cross_staff_beaming.mscz 6.52 KB

In reply to by Dylan Nicholson1

When you say "the source just had the pitches durations", what do you mean by "the source"? A MIDI file? And how was that file created? An AI algorithm? Could that algorithm be adjusted to place things on different channels or on different tracks according to some sort of logic? Or, if it was created by hand in a DAW, could the person who created be taught how to enter notes onto separate channels or tracks within the DAW? Or if was created by a live performance, could the person who played it have instead played it one hand at a time? Or could they have used features of the DAW to split the track in two based on your preferred split?

That's what I mean when I talk about stepping back. It would be far simpler to import a MIDI file that already has reasonable data on this than to try to "unscramble the egg".

The example you show, though, doesn't involve moving notes between staves at all - cross staff beaming requires all notes to live on the same staff. So you shouldn't need to move them to a different staff, except in the cross-staff sense of selecting them and doing Ctrl+Shift+Down. No use of multiple voices or copy paste would be involved.

In reply to by Dylan Nicholson1

OK, but then how did talk of voice 2 or cut and paste ever come into it? That's part of what I'm still confused about. it's hard for us to understand the big picture here, which is why we need to ask questions.

Anyhow, yes, for this particular special case purpose, a plugin to select all notes below a particular pitch would be a nice solution. I thought we already agreed on that. I just thought there was some sort of new issue involving copy/paste or multiple voices.

In reply to by Dylan Nicholson1

If you're left with voice 2 notes after the mentioned steps, then you either have overlapping rhythms or didn't do the 2nd implode.

But looking at your example, you don't really have to move the notes (cut and paste) at all and the split staff method thus won't help you here.

What you can do is (when starting from a single staff with all notes):
1. Add the 2nd staff
2. Right-click on a note you wish to displace with cross-staff notation and choose Select > More
3. In that dialog use the same pitch option and in the 2nd half the "add to selection" option instead of the "replace selection" option.

This way you only have to click each pitch to be moved once and will likely be able to move most/all of them in one action after the initial selection.

In reply to by Dylan Nicholson1

Though note that if my implementation of the drag/lasso list select functionality is accepted for merge there's less use for such a plugin, but it might still be useful for MU3 users until MU4 is released.
Also while that dialog LOOKS nice, it's a bit painful to use if you need to choose a split point a long way from c4 - any reason it doesn't allow typing?
Also how do I access this function in MU4?

BTW I've implemented a "fix" for this in MU4 (not yet merged).
Note that the current stable build of MU4 doesn't support drag/lasso selection at all, so I first had to add that.
But basically if you hold down CTRL while dragging the rectangle and release it simply leaves the elements selected that were highlighted while dragging, instead of converting to a range.
Personally I'd still prefer it if SHIFT+drag didn't even draw a rectangle, or at least automatically adjusted it to be a rectangle that fully contained everything in the range, but it doesn't seem worth the effort at this point.

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