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 parkingb

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 parkingb

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.

In reply to by Jojo-Schmitz

Sorry I have been looking around all these threads and I could not find the workaround for this. Is there any?(besides editing notes individually, which would be the same than re-writing the whole song):
I want to change my triplets into eigth notes, because I will change the time signature from 2/4 to 6/8.
As simple as that.

Does anyone know a workaround for this?

Thanks
Joao Rodrigues

In reply to by jonipiter

As I explained previously, this thread is not at all related to your situation, This is indeed about making edits one by one, not about changing all durations. There is currently no solution for converting between triplets and non-triplets. If re-entering the piece is not an option, you could try exporting to MIDI, finding a way to do a transformation there, then reimporting. Depending on how far along your piece is, that might be faster in some cases.

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 parkingb

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 parkingb

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 parkingb

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 parkingb

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 parkingb

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 parkingb

" 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 parkingb

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 parkingb

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 parkingb

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 parkingb

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 parkingb

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 parkingb

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 "-"

Hi all,

I took some time to look at my note entry process in MuseScore, in my other editors, read all the various comments in this thread, and realized that I was not the only one struggling with note-entry paradigm of MuseScore (being rhythm first, melody second).

So I did that little plugin, acting as a POC (Proof Of Concept) to show up what could be nice solution for MuseScore:

MuseScoreDurationEditor3.gif

Still a work-in-progress (no "dot", no "dotdot", no triplets, ...) but already useful.

Is such feature something that could be imagined for MuseScore, developed in plain MuseScore native code ?

PS: The code can be found on GitHub

In reply to by parkingb

It looks useful indeed - nice job! Although, as far as I can tell, it would be more useful for small tweaks to rhythms than for actually completely re-entering rhythm after pitches, since as far as I can it keeps all notes in their original measures. The biggest part of the problem in designing a native feature like this is reconciling the very different requirements of people would expect changes to flow across across the entire score versus those who want to keep them localized. Getting these two sides to even acknowledge the other side exists, and getting either side to recognize that the developers are not their enemies just because we point out that this is the difficult problem to solve, has thus far proved completely impossible. But your is the first actual positive step in that direction I can recall seeing, so, again, nice job!

In reply to by Marc Sabatella

Wow, congratulations @Ivr124, that sounds really good.
It's so stunning, incredible (I was going to say upsetting!) to see that MuseScore be able to have a different behavior and not "eat" notes or include rests anymore (in case of shortening or lengthening note values)
A sort of new perspective.
Please, continue your work...!

In reply to by Marc Sabatella

Thanks to these positive reactions. I'll keep definitely improving it.

> since as far as I can it keeps all notes in their original measures
This was not my original intention. But (for my own usage), limiting to the current measure is 80% of my use cases. And the reminding 20% could be achieved but a separated function to re-distribute the rhythmes and reset the measures durations.

> getting either side to recognize that the developers are not their enemies
Sure. Finding the right balance between effort, benefit, code neatness (and re-usability) isn't a simple task.

In reply to by parkingb

Indeed, that's my use case as well, and I imagine the use case of 80% of other users. The need for notes to reflow across the entire score seems the highly unusual special case, but there are a number of very vocal supporters of that idea. Hopefully at some point some consensus can be reached on the best way of supporting all this.

In reply to by Jojo-Schmitz

> But that plugin looks like using Insert mode, and 'Delete selected range'
Oh Gosh no !! Not a single "insert" in there.
For the simple reason that the "insert" mode impacts the measure on all the starves.
Here the goal is to impact only the current measure/track.
Not a single "insert" in there, but plenty of cut/paste/measure actual signature change/time-delete/...

In reply to by parkingb

I do see the measure changing duration. If that doesn't affect the entire system, the same meaning other parts, that'd cause corruptions.

And insert mode is doing nothing different, it does change the measure duration.
Your plugin just hides all that deep under its covers in a pretty elegant and usefull way.

In reply to by Jojo-Schmitz

The big difference seems to be that insert mode inserts in that specific position in the measure to lengthen, while this plugin adjust measure duration to lengthen (and thus always "inserts" at the end of the measure for all other staves).
It has less cross-staff pollution compared to insert mode (less risk for breaking tuplets for example)

I finalized the plugin. You can find it directly on my GitHub.
Many bugs resolved. New "Insert rest" and "Delete note" features.

demo.gif

I suggest that any comment related to the plugin itself being done on its specific page in the MuseScore plugin inventory. And to keep this page to its purpose: having those features natively available in MuseScore without the need of a plugin.

In reply to by parkingb

Again, really good work, thanks!

I tried to test to see how you solved the fundamental problem we've discussed here - what happens on other staves. But the first time I tried it on a score with multiple staves, it hung :-(

Anyhow, for this thread, it would still be useful to describe how you intended it to work. I can kind of get a rough idea from the video, but hearing it explained would clarify.

In reply to by Marc Sabatella

This my own vision for this feature:
(assuming one chord/rest selected or that the functions are applied to the first chord/rest of the selection).
1. Any action has an impact limited to the track and the measure of the selected chord/rest

  1. If the action results in a duration increase:

* first, eat the rests located at the end of the measure,
* second, if this has not been enough, the measure needs to be increased, by adding rests at the end of the measure on all the staves.
E.g: From a Quarter to Half,
* If there is a quarter-rest at the end of the measure, change the quarter to an half, move the rest of the measure 1 quarter to the right and use/eat that last quarter-rest.
* If there is a eighth-rest at the end of the measure, increase the measure by another eighth-rest, change the quarter to an half, move the rest of the measure 1 quarter to the right and use/eat the two eighth-rest.

  1. If the action results in a duration decrease: decrease the measure duration with the following conditions

* don't decrease beyond the nominative signature, add rests at the end of measure to compensate if necessary.
* never time-delete anything else than rests on any other staff.
E.g. In a 4/4 (nominative) measure containing 5 quarters, From Half to Eighth,
* if no other staff is containing more than 4 quarters, change the Half to Eighth, move the rest of the measure 1,5 quarter to the left, keep a eighth-rest at the end of the measure to keep an actual duration of 4/4
* if another staff is containing 5 quarters, change the Half to Eighth, move the rest of the measure 1,5 quarter to the left, keep a 1,5 quarter-rest at the end of the measure to keep an actual duration of 5/4 and avoid impacting what's on the other staff.

These are my 3 rules.

In reply to by parkingb

The link to the dedicated discussion just took me right back here. But, right now I can't reproduce, seems to work as expected. I know what I had done was first shorten a quarter note on one staff to an eighth, then tried to lengthen it to a half, and that's when it hung. Doesn't hang now, though.

The main glitch I see is that when lengthening a bar, there is no rest added to other staves, just a "hole" at the end of the measure, which would presumably lead to complain about corruption.

In reply to by Marc Sabatella

" just a "hole" at the end of the measure, which would presumably lead to complain about corruption."

I'll let @Ivr124 answer, because I don't know if it's deliberate or not ("hole" or rest), but there is no corruption . For example, in case of a 4/4 measure with four quarter notes, and temporary change to a 5/4 time signature with a half note instead of the last quarter note, well, the quarter rests appear in other staves after Save and Reload.

So: 1, the display of irregular measures ("+" and "-") is explicit and visible enough to avoid this. And 2: in case of forget/error, no fear of corruption (rests are implicitly added in the use of the plugin and explicit after saving). And I notice that the correction, if needed, is immediate for a return to 4/4. Either by returning to a quarter note in the concerned measure, or by deleting the beat in another staff (Ctlr + Del)

Imagine now MuseScore: no more tedious cut and paste within a measure (it can be tedious, and it can be time consuming, and I'm not even talking about novices - you have to see the number of threads on this, who have trouble to understand, how handle and getting used to the cut/paste), flexible measures, no more eaten notes and unsolicited rests, I don't know what could be better, at least on a personal basis.

I've already adopted this plugin! I find it perfect in the way it works, exactly as I imagined. And personally, I hope it will be implemented natively some day :)
In short, as you can see, I am quite enthusiastic about what I consider a considerable advance for the programm in terms of flexibility/facility in editing note values, and which almost surprised me so much I thought it would not happen!

I think I remember having the same feeling of progress and surprise and contentment when implementing the Paste Half / Double duration feature! 😂

In reply to by parkingb

Thanks for clarification.
Another example of the superiority/ease of this feature over the cut and paste (I remembered this example from an old guitar forum thread, the user was completely lost, looking for something "simple")
In the first measure below (GIF), let's say I'm wrong, I want the eighth rest to appear at the beginning of the measure, not at the end.
With the plugin, it is immediate to insert the rest, which pushes the notes further. With cut and paste, well, there are various operations which take some time (like creating the eighth rest, navigating, and so cut the selection and paste), and which is really not something that comes to mind for inexperienced users.

Video_2021-10-15_200514.gif

In reply to by parkingb

It's good to know the "hole" fixes itself on reload. But, it would be great to figure out how to fix this, as the plugin could easily be extremely useful right away, and this one glitch makes it look a bit scary. Unfortunately, I don't know my way around the plugin API well enough (basically, not at all) to advise. But this seems like an extremely worthwhile thing for someone who is more experienced at plugins to try their hand at helping with!

FWIW, I could see featuring this in an upcoming episode of my MuseScore Café (https://community.masteringmusescore.com/c/cafe-watch/)

In reply to by yonah_ag

I have no objection to adding this to MS. But I do have a few observations.

Add notes to a measure and move everything after to the right. Fine. But what about the notes to the left? That measure with the added notes has to be justified. Something has to give, and it might not be what I want. The notes to the left might be the end of a phrase that will now have to be rewritten.

I must say (and I realize this is just me) that in all the many years I've been composing in software, I have never had need of this procedure. In the above case of wanting the eighth rest at the beginning of the bar instead of the end, I doubt that I would want the resulting rhythm to be upheld. Unless it was a mistake. Perhaps it came about from trying to go too fast at the expense of accuracy. There's a reason I input with a mouse. I was watching a guy work the other day. He was wicked fast and deliberate at everything. He pounded the keyboard. He assembled things and moved things around so fast it was hard to follow. He went to staple something and missed his mark three times. Yes, he gets a lot done, but errors can be made. Is it worth it?

The requests I see all seem to include terms like "faster" and "easier", or "more intuitive". All those things mean different things to different people. Sometimes nothing. We all have lists of what we wish MS did or didn't do: I hate the drum palette so much that I don't write drum kit parts. I wish I could select a measure and have playback for that instrument start from that point. I wish rit. did that. I understand that is coming in V4.
Those are things I would use all the time.

In reply to by bobjp

"I have no objection to adding this to MS"
Thanks 👍
"That measure with the added notes has to be justified."
What measure are you talking about? To be justified?
" I hate the drum palette so much that I don't write drum kit parts. "
What does this sentence have to do with this thread? From memory, you have already complained about this in other threads. I don't really remember the answers (from Marc, from memory) Did you suggest something, fill in a suggestion? In any case, it would be better to open a new thread, or develop the previous ones related to this complaint :)

NB: In fact, in the tenor of your message, I sense a kind of sourness, as if the effort to implement some features would be at the expense of others, which you personally would prefer. You shouldn't.

The plugin by @Ivr124 (who is not a say a regular developer of MuseScore, he took his personal time to produce it) is up and running now in my opinion.
Whether it will ever be decided to become a native feature is up to the highest authorities!
Quite sincerely, I think it would be an obvious thing to do, considering the considerable editing facilities provided by this plugin/feature.

In reply to by bobjp

Tenor (typo, or wrong automatic translation, I don't recall) = content (teneur in French)

As for the plugin, it is already operational, as said, and it will meet the expectations of many users - not yours, we understand :)
I've been visiting the forum for 8 years, I helped a lot in the development of versions 2 and 3 (in my own way, regulars of this forum and developers will understand what I mean) and I think you can't imagine for a second, how many posts are related to this pain of having to cut and paste and cut and paste again two-three notes within a measure, and how exactly to change a rhythm easily, etc.

I'll end with this comparison of the editing of my previous GIF.

For the first measure (with the current behavior of MuseScore), I have to do:
1 Click first note
2. Shift + click last note
3. Ctrl + X
4. "4"
5. Right arrow
6. Ctrl +V

I repeat, for me, that I find this behavior outdated (I am still talking about the editing of the rhythm within a measure), and that it is no longer up to the level we have the right to expect from MuseScore now, so many other extraordinary advances have emerged in the last few years.
Of course, if you prefer continue to cut and paste, nobody is stopping you.

With the plugin:
1. Click first note
2. Shift + click 8th note symbol

.... Done

In reply to by cadiz1

Of course I understand the French connection.
I never said anything about the plugin not meeting my expectations.
I never said I wouldn't use it in the future. I did say I haven't had occasion to do that kind of procedure. Which I may have worded something like " I have no use for it." That should have been worded "I haven't had any use for it." Which is not to say others wouldn't find it useful. I never said that.
I don't prefer to cut and paste. I haven't used cut and paste. Gasp, I know.
There is no argument that the plugin is faster. None.
BTW, I was following your steps above. I did it without step four. And don't you mean "left arrow"? That's not a criticism. I'm just trying to learn something. Which is why I am on the forum. MuseScore is very different from the software I am used to. It's not worse or better. Just different.
I am sorry you take my comments so negatively. Try to take them from the viewpoint of someone who uses the mouse for most everything. Right off the bat, my workflow is slow. But it is deliberate. I am less concerned with speed than I am with getting what I want into the score. I just can't remember a time when I went back to change a rhythm or add notes (thereby moving everything to the right). As a mouser, it might take longer to invoke and use this plugin than it would to fix things the old way. That's not a put down by any means. Just what I face.

In reply to by bobjp

" Try to take them from the viewpoint of someone who uses the mouse for most everything. Right off the bat, my workflow is slow. But it is deliberate. "

I know, you keep repeating it in your topics :) What can I say to that ? Nothing. Since you don't want to learn anything different, what can I say to that? Nothing. I am not especially a fan of the all-keyboard (I started with the mouse, and little by little I optimized things in my own way, but without becoming, far from it, a virtuoso of the all keyboard)
And I confirm I wrote "Right arrow", to position myself on the second 8th rest and paste.
That said, we are clearly getting away from the subject of this thread. I think we have clearly stated our thoughts, and under the risk of having to repeat myself, I will end it there.

In reply to by cadiz1

Sorry, cadiz1, I used a slightly different rhythm. I now understand your use of 4 and right click. Lesson learned. Thanks. Though I never said I don't want to learn anything different. I just need a good reason to do so. I agree to leave it at that.

Hi all,
A couple of weeks ago, I came with a POC (Proof-Of-Concept) (that has now evolved in the working plugin).
This POC received generally positive feedback. And has proven that other ways of entering notes and rhythms were possible. And that people would like to see this integrated natively within MuseSocre.

So, what would be the next step to have this feature added on MuseScore's roadmap?

Is there a "Feature Request" process ? Is there a "Change Control Board" , a Committee of Wise Men to whom submit the request ?

Some fine-tuning still ought be done (e.g. how to activate this feature in the UI), but there is little point spending more time on this if this Feature Request is not being taken into consideration by the MuseScore board.

So, in short, what's next ?

To me, this plugin is a must have. I'm in the process of converting many scores from an obsolete notation program into MS. Unfortunately, MS is not currently designed for editing existing scores, especially those that have been converted from a PDF or other software into a .mscz file. That is a BIG limitation for those of us who are more a Beethoven than a Mozart (if you get the metaphor in regard to the frequent need to change one's mind about a phrase, a rest, or a note duration, and to convert straight notes to triplets, etc. for editing). Needless to say, it has been very frustrating and time intensive to try to work around the API in MS without this kind of work-around. I hope that a future upgrade of MS will incorporate better tools for editing. It seems odd that the capabilities of this plugin were left out of the major MS4 upgrade. Thank you "parkingb" for your contributions!

In reply to by artoffugue333

I'm glad you find parkingb's plugin useful! But to be clear: of course MuseScore is designed for editing scores! It is just designed to do it differently than you might be expecting. Moving things is never more than a cut & paste away, same as how you move things in many other programs. It's actually quite efficient once you get into the right mindset. But, if the plugin means you can use a different mindset to achieve the same results, great!

In reply to by artoffugue333

You're welcome.
Actually I never understood what's the obscure rational behind MuseScore being limited to one single editing mindset while other editors are able to do it. Both could be cohabitating. Maybe is it just the lack of human resources to implement it.
That limitation (and to impossibility to port my plugin to MU 4.x) is among the main reasons why I don't use MU4.x.

I'm late to the party here but really good job on the plug-in! Though I have a question regarding earlier comments about whether or not to push or pull back all subsequent notes and therefore not restrict the changes to a single measure. (Some considered this a very special case)

As far as I can see and from what understood about your plug-in especially from last gif example, the goal is to easily change durations without affecting subsequent measure ( or staves for that matter).

But if you do allow for changes to recalculate all the proceeding notes you would still end up with the same result (what moves ahead moves again back with the same amount since you don't change the measure duration)
compared with when limiting yourself to a single measure, as this plug-in does, with the added effect of also allowing for that "special case" (which I don't think is really that special at all) that is shifting back or forth the rest of the notes on the staff (like dorico does and offers a very-intuitive-word-like editing experience).

That being said, I can already see a problem having to do with the way Mscore handles triplets when pasting them (moving them in our case which is essentially the same) across bar lines; it doesn't allow that! So this should be tackled first and I've seen several comments on the forum asking for the option to paste triplets across barlines.

In reply to by .ash86

One have to distinguish 2 things:
1) The Feature Request for being able to change a note duration and moving the next notes accordingly, and
2) My plugin

The plugin has been made as a POC (Proof-Of-Concept) to show to the sceptic people that the feature request was not such a crazy and unuseful idea. It became a really useful and appreciated plugin. Though, it doesn't define how the feature should be implemented.

If there is ever a consensus in the MU team to implement such a feature, a deeper analyse should be done. And, indeed, determine what are the pro's and con's of limiting that feature to a single measure (as I chose in the plugin) or to allow for a cross measure impact.

I find the 2nd option, although useful, hard to define. E.g. Should the impact last until the end of the score ? Or it should stop any point before ? What about rehearsal marks, repetition, ... Should they be moved accordingly or not ? etc... Feel free to tell us your vision about these questions.

As you pointed it, a big challenge with that 2nd option are the cross-bar triplets that could result from it.

The decision to limit the impact to the current measure has been my personal uses cases, that issue with the triplets, my inability to determine where should stop a multiple measure impact, and my love for the Guitar Pro editing approach that I've always found superior to the one of MU for sketching new ideas.

I think I never made an official Feature Request in GitHub about that. Maybe is it time to create it.

In reply to by parkingb

Oh there definitely should be a Feature Request in GitHub for this. Please do that:)

As for the the question about rehearsal marks, repetitions etc... Well, you cannot but keep them fixed while you move the notes across them. (It is just impossible to move barline markings say by quarter note) So this issue resolves itself as far as i can see. (cases where the changes made don't alter the overall measure duration, as seen in your gif example, would not mess up the location of the subsequent notes relative to barline markings anyway if that is the concern).

What would need to move along with the notes are essentially dynamic markings and lyrics since these are inherent to the notes and phrasing and not location.

As to implementation, well, maybe
- use the filter to cut only notes (with articulations, trill etc...)dynamic markings and lyrics,
- change the note duration
- go to next element/segment
- paste
- in case the note had a tie or slur that would've been erased in the process, redraw it.
I don't see why there would be any necessity to create a new engraving system for this as mentioned in some earlier comments (apart from triplets).

More importantly, i think both modalities (limited to one measure or not) should not be exclusive to one another. Why not have both as different modalities of the already present "insert mode".
So in effect, the present insert mode would be sort of a "global" cross staff mode. your plugin, a "local" single staff and measure mode, and a third mode which moves the next notes accordingly. (that's how dorico does it too btw)

In any case, I agree that the current MS approach is inferior to others and hope the MS team takes the Feature request into consideration.

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