Change the rhythm of notes and move automatically the next ones

• May 16, 2021 - 08:32

Changing a notes' length in MS is not something easy.
Either it will "eat" next notes, or it will introduces rest that are difficult to get rid off.
I would prefer MS moving the next notes automatically accordingly.

Here some examples of an original situation, a target situation, the current behaviour of MS, and what the expected behaviour:
Screenshot 2021-05-16 090229.png
Here the eight notes are just "eaten" by MS when remove the dot of the C and changing it to Whole.

Screenshot 2021-05-16 091809.png
Here MS introduces rests that can't be removed when changing the G from Half to Quarter.

Screenshot 2021-05-16 000411.png
Here, when selecting the 3 first quarter and pressing "Add Triplets", MS converts every quarter into a triplet of eighth notes, while I'd like it to change my 3 quarters into a triplet of quarters.

All of this can be resolved by delete/copy/paste/.... but it is an unintuitive and time-consuming way of working.

What about having an optional mode when editing the duration of notes/rests to have the net notes moved ?


Comments

Duplicate of https://musescore.org/en/node/321238

Workarounds given there.

It's been requested time and time again in the past 10+ years. Ans a lot of the questions as to how exactly it should work have never been answered in any sufficient way. Like: should all following notes get shifted, or just I'm thw current system or measure? If all, what happens with notes at the end of the score? What happens if durations are shortened, move everything left? What happens to notes that now cross a barline, tie them? What to do with tied notes, combine them?
Lots and lost of reasons to keep the existing mode, and have the insert mode being restricted to a single measure.

In reply to by Jojo-Schmitz

The only other editor I'm using is Guitar Pro. And it handles that pretty well. This feature is really a huge missing one that the Mysescore community should at some point in time dare to tackle. With polls with the community. With studying how other softwares cope wit that.

In reply to by lvr124

Your first example is doable in Musescore in three operations without copy and paste.
The second is also doable in three operations without copy and paste.
No idea about the last one, but how many operations does it take to make this happen in GP or Dorico.
Although, trying to change something into a triplet after the fact seems an bit counter intuitive to me.

In reply to by bobjp

>Although, trying to change something into a triplet after the fact seems an bit counter intuitive to me
When you know what you are writing, yes, probably it is counter intuitive. But if you are in a sketch mode, or in an iterative mode, or in repetitive mode (copy/paste a same structure, but with variations of rhythm,), it becomes more relevant. And these are usually my way of working. (By the way, it is 2 steps in GuitarPro. Dorico, I don't know, I won't try something I can't afford)

Also, someone said on the other thread that there were already discussions in the past on similar requests. If you have links to those discussions and could share them, I'll review them, in order to propose something inline with the past discussions (the search in the forum doesn't return any result).

In reply to by lvr124

Fair enough. GP has a method for changing to triplets the MS does not.

In the other thread you said that GP will do those other examples in three steps. In this thread, you tried those same steps and it did not work. I wouldn't expect any to programs to work the same. However, they can easily be done in three steps in MS:
insert-2.png
In all the many years I have been composing in notation software, I can't remember ever wanting to change anything to a triplet. That doesn't mean others don't have that need. I get it.

One of the import things to figure out about any such proposal is, how is MuseScore supposed to guess how many notes to move? Also how is it supposed to guess whether you want to change the measure duration for this (and maybe actually add a new time signature) or maybe go into some special model where it waits for you to be done with the edits before trying to calculate the measure duration. And maybe in that special mode, you select the notes you want to be part of the "scratch pad" (the term sometimes used for this), so it doesn't have to guess. Also, how would notes on other staves be affected?

The point being, there are a ton of details to think through and work out with real world examples. There have been dozens of suggestions that somehow MuseScore invent a way of doing moves like this without cut & paste, but the problem is, so far no one has taken the time to actually work out the details of making a concrete proposal for an alternative system, That would be the first step in getting it considered.

In reply to by frfancha

A great many people detest the way Dorico does it. If I had veto power, that suggestion to me would be DOA. I'd prefer solutions that don't require a) a complete and total rewrite of virtually every single data structure in our score representation and every single algorithm that processes that data structure, and b) always adjusting everything from that point in the score to the end even though I really just want to make a change that is local in score.

That said, I don't have veto power. If the powers that be decide to go with a suggestion like this, so be it. But still, we'd need someone to write out a detailed proposal. not just for how it would look to the user, but details on the brand new data structures and algorithms that would be required to implement it, and hopefully ideas on how to raise the money to pay a whole new team of engineers to work on that.

As I said, I'd much prefer a less invasive solution.

In reply to by Marc Sabatella

I read with a lot of interest the above mentioned threads and saw that we are sharing the same concern.
I quote:
"...hit the magic "change duration" command, and it changed the duration of the selected note and also moved the subsequent notes in the measure later/earlier".
I think this is the general idea we are looking for: the use of functions and shortcuts already known and implemented (Q/W, and Shift/Q and Shift/W) but with this new fundamental ability to move the following notes earlier/later in the measure (without "eating" the notes)

Impact on other staves have been pointed out as a major issue for that idea. I don't think it is an issue, because the propositions will not result in different situations than Insert mode and Ctrl+Delete.

Regarding my original request I think we can split it into 3 changes:
1) Changing a note's duration will move the other notes of the same measure accordingly. This will spare a few operations compared to the current approach (Insert mode + Ctrl+Delete + Changing the note duration). I've prepared some use cases later to demonstrate the benefit.

I would concentrate on this one. To my opinion the most useful, and the most easy to realize.

The two others changes could be:
2) Convert notes to triplet and vice-versa. With the same approach than the point (1)
3) Have a function to reconstruct and reorganize the irregular measures. Ie. pushing to the next measure notes from supernumerary and filling incomplete measures from the next measure

In reply to by lvr124

A. Select the notes on beat three and hit "R". Change dotted half to a whole.
B. Change first 16th to an 8th note. Change second 8th to a 16th note. Hit "R".
C. Insert Quarter note (instead of a rest). Change dotted half to a whole. Add 5/4
Depending on our definition of an "operation", "A" might be three (instead of two), and "B" might be two.

TBH I didn't even know there was an "insert" in MuseScore. It is useful in "C".

In reply to by lvr124

So your version of this involves the new command changing the duration of the measure? Note this is 100% opposite of what others are suggesting - the suggest form others is that notes flow into / out of subsequent measures.

But, it's not true that this doesn't affect other staves. it does, in the same way that insert & delete already do. So for example, imagine you have two half notes and you shorten the first to a quarter. Now pretend another staff used to have four quarters. What does it have now?

In reply to by Marc Sabatella

>So your version of this involves the new command changing the duration of the measure?
No. My proposition is not different to what we have today. Simply some actions are combined into 1 action. It results into less keystrokes.
So in example A, instead of adding a rest and adding the dot on the note, you simply add the dot. The result in the same. Just one keystroke less.
Exactly what @cadiz1 said in the other thread (at least how I understood it):
it changed the duration of the selected note and also moved the subsequent notes in the measure later/earlier

>But, it's not true that this doesn't affect other staves.
We are aligned on this. What I was saying is that it will not affect differently the other staves than Insert/Ctrl+Delete does, and therefore should not be in the pros/cons of this request.

In reply to by lvr124

It's still not clear, I think you'd need to post some actual example scores and show specific before/after and how you expect other staves to be affected. Like, if you have two half notes and add a dot to the first how many beats are now in the measure? If it's not five, how is this different from the current behavior - which beat is removed?

Specifics help. A lot. You've posted some, but only a tiny fraction of the possibilities are covered.

In reply to by Marc Sabatella

I don't know to explain this...
There will be NO CHANGES compared to how it is today.
The purpose is only to REDUCE the amount of KEYSTROKES.
uc1rev.png
In my proposition, pressing the dot is equivalent to Insert rest+add dot.
Add the end of my step1, we are exactly in the SAME SITUATION as in today's step2. Not worst. Not better.
So no changes in terms of partition. And this whatever the number of staves. Just one keystroke less.
uc2rev.png
In my proposition, (A) changing the 16th to 8th is equivalent to Insert rest+change the 16th to 8th,
and (B) changing the 16th to 8th is equivalent to changing the 16th to 8th + ctrl-delete the rest

Attachment Size
uc1rev.png 89.29 KB
uc2rev.png 108.8 KB

In reply to by Marc Sabatella

Right now it's exactly one keystroke to add a dot to a half note. You propose making that zero keystrokes? I'm assuming not - I'm assuming instead you are proposing a change to the result of that same one keystroke.

So please, as I said, your examples are somewhat helpful but they only cover the cases they cover. I'm asking about one extremely specific example - a measure containing two half notes, and you add a dot to the first. What are you proposing would happen differently than today?

And then next, answer the same question for the case where another staff has four quarter notes in that same measure - what happens when the dot is added to the first half note of the first staff?

Then answer the other simple case I asked about earlier: same scenario, but this time you shorten that first half note to a quarter. What does the measure look like now?

In reply to by Marc Sabatella

Hi Marc,

Let me first reformulate my proposition in User Story style:

I, as a User, would like to be able to active/deactivate a TIMEWISE MODIFICATION mode, in order that, when this mode is activated, changes of the duration of a note don't add rests (if I shorten the note's duration) neither "eat" the next notes (if I extend the note's duration). This will impact the POSITION IN THE MEASURE of the next notes of the same measure and staff in such way that they are move backward (if I shorten the note's duration) or forward (if I extend the note's duration). I want the new duration to be applied at all the selected notes at once. This may result in the measure becoming incomplete or having to many beats.

This being re-stated with other words, back to your comments:

> You propose making that zero keystrokes?
Nope. It remains 1 keystroke. But inserting (or deleting) a rest is not necessary. So we remain with 1 keystroke: the keystroke for the dot.

> a measure containing two half notes, and you add a dot to the first. What are you proposing would happen differently than today?
In this case my proposition is less efficient. But as it is a mode that you can activate/deactivate (as the timewise insert), one should not activate it in this case.
uc6.png

> Multiple staves.
Honestly I'm less familiar with this multiples staves. So for now I couldn't find a way to uncouple the Insert/Ctrl+Delete made on one staff from the other staves. Meaning that when I'm doing an Insert on one staff, a rest is inserted at the same position on all the other staves. Which is not handy at all.
Is there a way to uncouple the Insert/Ctrl+Delete made on one staff from the other staves ?
If no, I'll have to think how my concept would work.
If you have any suggestion, feel free to post it ;-)

Attachment Size
uc6.png 20.06 KB

In reply to by lvr124

OK, so you are proposing the new command actually add beats to the measure. Meaning, earlier when I wrote, "So your version of this involves the new command changing the duration of the measure?: and you replied "No", you really meant "yes", or at least "Sometimes"?

As I keep saying, the devil really is in the details here. How would an algorithm guess when you want the extra beat and when you don't?

The questions about how to deal with multiple staves, though, are really the harder ones. That's why I keep coming back to those. It's your proposal, so you get to decide what you think would be most sensible, and then others can debate whether it matches their expectations.

My own belief is that any proposal for a new feature will be more efficient than the current one half the time, less efficient the other half, and thus it will be a complete non-event in terms of overall efficiency. This is based on my experience with other software that works in other ways. Every single one of the dozen or so different programs I have used handles editing differently. Every single one is very efficient for certain edits, less efficient for others. No one program strikes me as obviously more or less efficient overall. The program any given person is the most familiar with will be the one that person will be the most efficient with, because they will make fewer mistakes. But if some sort of consensus develops that a specific alternative would actually meet the desires of a significant number of people and help them be more efficient overall by making fewer mistakes, I'm happy to support it. But so far, there isn't anything ven remotely close to a consensus on one proposal, there isn't even a single well-defined proposal out there except the one that requires completely rewriting MuseScore to be Dorico.

In reply to by Marc Sabatella

Question of terms ;-) The new command is not a new command but a new MODE. That new mode is not about changing the duration of the measure but RESULTS in having the duration of the measure changed (exactly how Insert and Ctrl+Del are working).

So "5" today changes the current note to a quarter without affecting the measure duration, but with possibly deleting some notes or adding some rests to compensate.
"5" in that new mode (could be activated by "SHIFT+5") would changes the current note to a quarter without affecting the other notes of the measure, but with affecting the total duration of the measure.

(BTW Dorico isn't my source of inspiration, it is GuitarPro which is tremendously efficient at writing/modifying score - less at formatting them picco bello like MuseScore. So my traditional workflow, when I'm not sure on how to translate what I'm playing or have in mind, it is to do it in GuitarPro and then import in MuseScore to fine-tune it)

I get back to my question: is it possible unlink Insert/Ctrl+Del made on one staff from the other staves ? Thus leading to a same measure being too short or too long on one staff but not on the other ones. Is this a possible situation in MS ?

In reply to by lvr124

I guess I don't understand, either. You have posted 4 scenarios. You propose a mode change to deal with them. I could see doing something about the triplet problem, I guess. Two of the others are doable in the same number of steps without insert or CTRL+DEL. The third uses insert, but not CTRL+DEL.
Is a mode change really needed? I don't have a need for most of those kinds of changes, but it's not hard to find or use the things that I found.

In reply to by bobjp

@Marc, @bobjp The fact that one can not unlink staves in the Insert/Ctrl+Del is a key issue in my proposition. Because my objective was really to limit the action to the current measure/staff.
I need some time to think about it. And I need also to get back to instruments.
But I don't quit the idea ;-)

In reply to by bobjp

Well, I retried the steps your where proposing. And actually they don't all work as well as you suggest, and if they do look equivalent it is because the use case is very simple.
Look at [B]
With your process, you loose the staccato (I put it on purpose, for the sake of the demonstration). It is even more obvious, if the 2nd 16th is more visibly-different:
uc2rev2.png

Attachment Size
uc2rev2.png 17.98 KB

In reply to by lvr124

" is it possible unlink Insert/Ctrl+Del made on one staff from the other staves"

No. MuseScore does not really support measures with different durations very well. Although it has support for local time signatures, which would somewhat cover this scenario; but those are also loaded with a series of bugs precisely because MuseScore can't really deal with measures with inconsistent durations between instruments.

In reply to by lvr124

Again, we'd really need to see examples of the specific cases I asked about in order to make sense of how a command could possibly "changes the current note to a quarter without affecting the other notes of the measure, but with affecting the total duration of the measure". That sounds like it flat out violates the laws of physics and the normal flow of the space-time continuum to me. If the duration of the measure changes, I think you really mean, the other notes are changed (by moving earlier or later as the case may be) but you have still not explained what happens on other staves.

I don't understand your question about unlink insert/delete from other staves. you mean, you want it to be possible for a measure to have a different duration on one staff than others? This is not possible, and I'd argue it shouldn't be. A command meant to simplify editing should not ever have the possibility of making things disastrously worse.

In reply to by Marc Sabatella

Marc, I think what LVR wants to be able to do is have the insert affect only the measure he's working in, and not the whole score. Then make whatever changes are needed. Then Ctrl+Del to get rid of extra beats created by the insert.
This is not really possible now, especially the way he does it.
I'm not sure insert is needed most of the time, anyway. Even when it is needed, there are ways to do it that are in the same number of steps, or very close.

In reply to by bobjp

Yes, it's clear that in some unspecified sense, the goal is to affect only the current measure. What I'm pointing out is, that's nowhere near specific enough to consider as a design, and most importantly, understanding how it affects other staves for that same measure is absolutely crucial.

In reply to by Marc Sabatella

In other circumstances, I would say, _ Marc, let's sit together in front of the pc, so that so I can speak this out loud and try all this together_ because it seems that we've reached the limits of what a keyboard-based conversation do.

(And, btw, yes, I don't find it that horrible to have inconsistencies in terms of measure duration across different staves at some point in time in the edit/writing process. For rendering purpose, this should not be a problem. And even for playing, it should not be a big issue... But this another topic.)

In reply to by lvr124

How about this example:
It is doable in two steps without insert. But suppose it was more complicated and insert seemed the best way. Insert a note on a different staff. That way you can work on the measure in question without having to fix what you inserted first.
yet again insert.png

In reply to by bobjp

Same case in GuitarPro:
Press "-" on the D, press "+" on the B.
Done. No impact on the other staves.
One can just adjust/fix/adapt the rhythm of one staff without fearing impact on the other ones.
I wish it to be that easy in MS.
gpuc.png

And, of course, between both operations, the first staff has an invalid length (noted by the red). GP handles this in easy way : when rendering: red, when playing: the measure is played with the expected length (4/4) and so the supernumerary notes are cropped.

Attachment Size
gpuc.png 10.61 KB

In reply to by lvr124

I can't tell from the picture or your description, but are you saying that GuitarPro lets you accidentally create complete musical nonsense like the first measure shown? No, I would not be in favor of making it that easy to create such a disaster.

On the other hand, if the passage were removed from the normal flow of music and placed in a separate "scratch pad" that you explicitly enter and explicitly leave when done - that's the type of model I have suggested in the past as having some promise. I don't see how it could possibly end up being more efficient in general for simple edits as I've mentioned, but for more complete rewrites or for "pitch first then rhythm" workflows it could come in handy for sure.

In reply to by lvr124

Definitely hashing things like this out in person is nice. but not really absolutely required. I do think it's possible to move forward here, but the next step is absolutely addressing the very specific scenarios I laid out some time ago.

But I personally would strenuously object to any command that made it easy to produce absolutely garbage results. We don't want to spend the rest of our lives answering forum questions of the form, "hey, my clarinen part has fewer peoples than my flute part, what a POS program, how do I fix it?". First, do no harm - that needs to be the motto of any new command.

In reply to by lvr124

As I said, It's doable in two steps in MuseScore without insert. Just not with + and -. Do + and - automatically double or half a note value? If so, what if you want some other value? I'm trying to figure out if GP is more efficient, or just different. So far, the only case I see in its favor is changing triplets. As a mouser, it's probably just as quick for me to just re-write those

In reply to by bobjp

"I'm trying to figure out if GP is more efficient, or just different. "

Different, for sure. Look at these two examples, with the same way of doing things: only the keyboard to navigate and keyboard shortcuts to change the note values. In GP, when you shorten a note, everything after it moves accordingly, without creating a rest. And when you lengthen the durations beyond the measure, the measure gets red lines as a warning, so you have to correct this by cutting off what is too much. See:
GP:

GP.gif

Vs. MuseScore

MuseScore.gif

This being said, with this example, very simple-too simple (I don't know, and I don't master GP enough), it is very easy to achieve the desired result with MuseScore. Same navigation principle, but with the "R" (repeat) key for the eighth-note C, then W + (.), or W and Shift/W, to get the dotted half note, it takes two seconds.

video3.gif

You have noticed that I never mentioned cutting and pasting. I believe, it's maybe just my personal intuition, that cut and paste is an "old" and stiff method (extremely efficient when you master the program and safe for the score, there is no doubt about that), but that it is not at all obvious and accessible for those who are new or in a learning phase - just look at the number of questions about this subject on the forums -, or those who come from other programs (who are used to one way of doing things, and who try to replicate the same way in MuseScore, when you have, first, to learn another(s) way(s) ).

In reply to by Marc Sabatella

Yes, for large sections (measures), cut and paste is and will remain unstoppable. For rhythm changes within, say, a single measure, you can rewrite, indeed, or play with the various shortcuts available (repeat, decrease, increase).
In this context, however, the central point remains, the fundamental difference between the two programs. MuseScore creates a rest when you shorten a note, and "eats" the followings note(s) when you lengthen one.
GP moves the other notes accordingly when shortening one, and possibly extends the measure temporarily when lengthening a note (so as not to eat what has been entered - knowing that you will probably have to cut something later on depending on the case)
These are two radically different approaches. Which one would a beginner, average or expert user expect first?
But since MuseScore will not be rewritten for this, we will leave it at that :)

MuseScore:

musescore.jpg

vs. GP

approche GP.jpg

In reply to by cadiz1

Actually, I have no problem with MuseScore "overwriting" notes. It's trying to maintain the integrity of the measure. Let's consider a beginner. They're already trying to remember how many beats are in a 4/4 measure. And what are the various combinations of rhythms that fit, anyway. MuseScore will let them know what might work. No,you can't change the first quarter note to a half note without changing the rest of the measure. GP adds beats and turns red. And the beginner wonders what the heck is going on. And given no idea of what should go in the measure.
Advanced users will have no problem with either program. Is one better than the other? Well because I write for more than guitar.....
Yes, I know it is just an example of a process. Again, the only thing I find remotely useful is the triplet thing. But I I can't remember the last time I wrote a triplet.

In reply to by bobjp

"Well because I write for more than guitar....."
This is a murderous and not very nice tackle! ;)
I don't write only for guitar either, and GP is not only for guitar!
And Musescore, instead of red lines, for irregular measures (temporarily if needed) adds a little "+" (or "-") above the measure, beginner or not.
So let's ignore the endless questions on this subject where users expect to be able to move, redistribute notes (let's say within a measure) while MuseScore introduces rests or eats already entered notes. I think that this may cause a surprise, something as an nexpected result and that's really the crux of the story. And to answer only that the right method is to cut and paste (as if it were obvious to everyone, in some cases it is not at all, when you have to introduce a specific silence yourself for example) is insufficient.
It's not a problem for me, and once you understand how Musescore works, well, you adapt, and you live with it very easily. But I say that there is, inevitably, a real subject there!

In reply to by cadiz1

I suspect the answer will end up being, to have a new scratch pad mode that you enter and exit just like standard note input, but in this mode, you can only work on the current measure / staff, and it expands and contracts as necessary. When you leave this scratch pad mode, the contents are simply copied back to the original measure, so there is no worry if the measure isn't the right duration.

To me this satisfies the expressed desire pretty well and without causing any damage. The downside is it requires an explicit action to enter and leave this mode and thus, as I have suggested, ends up not being more efficient for simple one note changes.

In reply to by Marc Sabatella

Though I would prefer to be have the modification process inline, in the measure, I like the idea of the scratchpad. At least it will allow somehow this timewise edit approach.

Another proposition :
What if the timewise edit mode would only affect the other staves at their end ? So adding/removing rests/notes at the of the measure.
This would preserve the measure length integrity all the way long, what you care about.
If the users first"enlarge" the notes he wants to, then "shorten" , then the measures integrity will be kept, and the other staves will not be impacted.

In reply to by lvr124

It's still the case that if you go the other way around - first shortening then lengthening - you would lose notes on other staves. Whether you lose them in the middle or end seems immaterial, it's still not good. That's why the clear separation is, to me, the best solution.

Note the scratchpad could certainly appear inline visually.

In reply to by cadiz1

MuseScore only introduces the + or - if you are in insert mode. I'm not sure a beginner would be in that mode.

Everyone has their own set of procedures that make sense to them. There are plenty of things that I wish MuseScore did differently. Changing to the Guitar Pro style of editing isn't one of them. But who knows. I have found this thread to be very informative on many levels.

In reply to by bobjp

About introducing the "+" and "-" : you don't need to enter the specific Insert mode for this. If you have only one or two notes to insert in one measure here and there, you can use the shortcut Ctrl + Shift + notename (A-G)
And so, Ctrl + Del for "-"

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