Why does adding a Tempo mark to a range cause multiple tempo markings to be added?
If I select an individual empty measure of my score and then add a tempo marking, it does more or less what I expect - adds a single tempo marking (though arguably if I only select a single measure, it should add also automatically something to the next measure to indicate a return to the previous tempo).
But if I select a measure that has notes in it - it adds that tempo marking to all the notes in the measure, which is definitely never going to be what I expect.
Is there any reason if the current selection is a range, tempo markings aren't just added once at the beginning of the range?
I actually would expect this for (most) dynamic markings too - the exception being sf type markings that meaningfully do only apply to single notes.
It works as expected for lines - hairpins etc. - a single hairpin is added applying to the whole range. Likewise clefs/time & key signatures. So why not other palette items where this makes logical sense?
Comments
I think it's to leave the possibility of applying ritardando and similar.
In reply to I think it's to leave the… by Shoichi
But that's exactly a case where you certainly wouldn't expect ritard. to appear over every note! If you set up a ritard. system or staff text element, selected a measure and applied, you'd surely expect just a single word "ritard" and for the tempo to gradually decrease throughout the message. But that's not what happens - it adds the word ritard. above every note! Is it actually possible to create a text element that causes a gradual change in tempo BTW? Can't see how...
(it seems even the manual says it has to be done by adding a bunch of hidden tempo changes in - I have to say, the ability to do this "properly" should surely be a feature request - even if I'm in "notation more important than playback" school, gradual tempo changes like that are so fundamental that I'd expect even the most minimalist playback engine to make it easy to apply, ideally built-in to a line with text at the beginning (rit.____).
Tempo changes apply to notes (chords actually)) or rests. There's no such thing like an epmty measure, it contains at least a (full measure) rest, so selecting a measure selects that one rest. Or multiple notes/rests. And then consequently applies tempo changes to all the notes. Same as for fermatas or other articulations. Or dynamics
Lines apply to ranges, hence they behave like they do, time signatures don't exist mid-measure, so they apply to measures
In reply to Tempo changes apply to notes… by Jojo-Schmitz
I'm well aware of how it's implemented under the hood, I'm asking from a user perspective why it makes sense.
And clefs and key-signatures can definitely change mid-measure!
In reply to I'm well aware of how it's… by Dylan Nicholson1
They can, but it is rather unusual. and completly unheard hof to have them for every note in a measure. Whereas for Tempo there's a use case, rit. and accel.
In reply to Clefs can, key signatures… by Jojo-Schmitz
But that's not a use case, you don't put "rit." over every note!
And yes i'm aware currently due to MuseScore not having native support for ritardandos etc. there's a trick that requires adding a bunch of hidden tempo markings but a) if you really did want one over every note, you can convert to a list selection using the inspector first b) in most cases you probably won't anyway, because the tempo is likely to change per beat, not per note and c) it's a horrible kludge anyway!
In reply to But that's not a use case,… by Dylan Nicholson1
No, you put a rit. once, but then multiple (invisible) tempo texts
In reply to But that's not a use case,… by Dylan Nicholson1
Which note/rest of a range selection do you want a tempo to apply to?
In reply to Which note of a range… by Jojo-Schmitz
I want the tempo to apply to the whole range, but as far as the notation goes, it only needs to be shown once at the beginning, so logically attached to the first ChordRest in the range. It's a trivial change to the code to support that BTW.
Honestly the only issue to me is whether it should automatically add something to the measure after the end of the selected range to indicate a return to the previous tempo. If there were a sensible consistent way of always doing that I'd say yes, but it's probably simpler not to - i.e. even though you've selected a closed range of measures, the tempo marking will apply from the beginning to the selected range through to the next tempo marking (or the end of the section).
In reply to I want the tempo to apply to… by Dylan Nicholson1
Tempo Changes (normally, and as per your expectation) don't apply to a range, but to a certain place in the score and from then on, so don't apply them to a range, simple as that.
I agree that from a user perspective, applying a tempo to a range would
It is not difficult for a user to understand that an action works slightly differently when applied to a range and to an individual chord/rest.
In reply to I agree that from a user… by AndreasKågedal
That makes sense, an automatic 'a tempo' after the range, which switches back to whatever tempo was in effect before.
First though an 'a tempo' needs to get implemented, one that automatically (!) reverts to the previous tempo
In reply to That makes sense, an… by Jojo-Schmitz
But "A tempo" is generally only expected after a "rit... " or "accel...". If saw a score with a few pages of Adagio, then a few bars of Allegro then an "A tempo" I'd actually assume a rit/accel was missing somewhere, I wouldn't think it meant "go back to Adagio". "Tempo I" would mean that...but only works if you're actually returning to the tempo at the head of the score. The safest option is just to add another "Adagio" if that's what's intended.
Note though most of the time I'm working with a big orchestral score, and there's every chance the flute part just happens not to be playing anything - I click the measure in the flute part to add a tempo, and it works as expected. Next time, I happen to click a measure in the flute part where there's a few notes, and all of a sudden I get multiple Tempo markings - you can't seriously tell me any user would expect that.
In reply to But "A tempo" is generally… by Dylan Nicholson1
Don't select measure then, but a note/rest
Same as for fermatas for example
In reply to Don't select measure then,… by Jojo-Schmitz
But that's the natural action - you click "where" you want there to be a tempo change, i.e. at the start of the measure, and if there's nothing there, the whole measure is selected.
There is basically NO useful case where adding a tempo marking to a range selection should cause it to be added to every note in the range, so why should it behave this way? I guess I'm baffled why anyone wouldn't see it as an improvement that only a single tempo marking is added in this case. Fermatas are totally different and can usefully attach to multiple notes in a range, and if you specifically want on quite specific like a barline I'd expect to have to select that first. And thanks for pointing that out - seems adding fermatas is broken in MU4, will investigate!
In reply to But that's the natural… by Dylan Nicholson1
Right, you want it to change art a certain note or rest, so you click that.
You don't want it to apply to a range, so don't select a range.
In reply to Right, you want it to change… by Jojo-Schmitz
Working around the current behaviour is trivial - my question is why does it exist in the first place.
In reply to Working around the current… by Dylan Nicholson1
Because of its nature to apply to notes/rests. Same as for fermatats, staccatos, etc.
In reply to I agree that from a user… by AndreasKågedal
This would make it behave similarly to applying a time signature to a range, which imho will indeed be far more often what a user expects.
In reply to This would make it behave… by jeetee
Time signatures apply to measures, and measures only, different story.
In reply to Time signatures apply to… by Jojo-Schmitz
Technically yes, from an expectancy pov; doubtful.
EDIT: as in; they're both score markings that affect the score from that point onwards. One could thus argue that they both affect a range. If no range is selected, then it'll be from that point onwards till the end of score (or another such marking that may have already been inserted).
But if a range is selected, then it is not unreasonable to expect the "Add" command to honor the selected range.
You and I both are aware that the user is adding a TempoChange; but I would argue that most users (from their pov) are just adding a Tempo, unaware of the "change" command implied by it.
In reply to Technically yes, from an… by jeetee
Even if I was aware I was adding a "tempo change" it makes no sense to add the same tempo change to every note/rest in a range.
If you can find 1 user in a 1000 (other than JoJo) that thinks the current behaviour is desirable I'll shut up :-)
In reply to Even if I was aware I was… by Dylan Nicholson1
The current behavoir is 100% logical and in sync with how other 'apply element to range' behave.
If it ain't broke, don't fix it.
In reply to The current behavoir is 100%… by Jojo-Schmitz
Fine, I'll fix the clef and key signature palette items so they work the same way and add one clef/ signature for every note in the selected range.
In reply to Fine, I'll fix the clef and… by Dylan Nicholson1
Hm, OK, now that is a convincing argument ;-)
When selecting more than one measure, what is supposed to happen then?
For clefs and key sigs it reverts to the previous one. It doesn't do that when selecting just one measure, I find this somewhat irritating.
In reply to Hm, OK, now that is a… by Jojo-Schmitz
FWIW I found the single measure selection not reverting an anomaly. I kind of get it as it is not really possible to select a measure without it being a range selection, but I also think that the effort of selecting the rest of the range is a small price to pay in the situations where you do want them to apply to more than a single measure.
In reply to FWIW I found the single… by jeetee
How do you tell MuseScore to just apply a clef or time/key signature to one measure and revert afterwards?
Certainly it's not all that uncommon that you notice a single measure would be more suitable in different clef, so you just want to change it for that measure. For 2 it's simple, but for 1...?
In reply to How do you tell MuseScore to… by Dylan Nicholson1
The less intuitive way there is to first apply the already existing time/key signature to that next measure, then apply the change to the intended measure.
In reply to Even if I was aware I was… by Dylan Nicholson1
To avoid a problem, you should always consider what you might encounter if your idea is implemented.
Let's say:
Score has a 4/4 time signature and there are 4 quarter notes written in this measure.
The user selects this measure and clicks on the tempo-text.
Oh, see what, instead of 4 tempos, only 1 was written.
The user comes to the forum and complains; What would you answer?
Are you going to say, "When you select a measure or a range, software automatically prevent multiple tempo changes"?
Well, if the user says: "I'm not stupid; If I wanted to write one tempo-text, I would select just one note". What will you answer to this?
Will you say: "select notes one by one and add Tempo-text to each one separately"?
Which is more prohibitive:
Is it the current situation or the situation that the imaginary user (who's actually me) above will face?
In reply to Score has a 4/4 time… by Ziya Mete Demircan
I probably would argue then as I'm about to now (but some real designer input into this would be recommended):
That the use case for having identical tempo markings on each segment within the selection is a far lesser use case than the one where a single tempo is applied at the start and a restoration happens at the end (just as we do now for clefs). So that MuseScore favors the more common intention by default, but indeed still allows you to add individual markings if you so choose by single selecting the element on which you wish to add the marking.
I think this is very much a topic of outweighing the use case amount of intention vs the achieved result. (Counter argument, removing additional tempo markings in a range is dead easy by selecting first and shift+select last, then press delete. A much less labor intensive workaround than the one for the few cases where a user needs to manually add multiple identical markings)
In reply to Score has a 4/4 time… by Ziya Mete Demircan
If a user really DID want to repeat the same tempo marking for every selected note (which would be what, 1 time in a million?), they can select the measure, then use the inspector to select just the notes, which converts it to a list-selection, then add the tempo marking.
I'm not sure about the scenario where your selection contains both notes & rests though - it would seem useful in general to be able to convert a range selection to a list selection for other cases, but there's no obvious way of doing so?
Note that in MU4 I've added the ability to do a lasso (rectangle) selection that does a list-selection of all notes inside the rectangle, which would provide another straightforward way of adding the same tempo marking individually to a whole bunch of notes and rests if you really did want that.
In reply to If a user really DID want to… by Dylan Nicholson1
The tempo mark is placed in a position and affects the part that follows it (until you see another tempo mark). This is not a line so that it covers a certain area (or selection). If it is desired to change the speed, another one of these is placed in another place. This 'another place' may be at the next beat, it may be after 16 measures, or it may not exist at all.
There is no need to be restrictive.
In reply to The tempo mark is placed in… by Ziya Mete Demircan
Who said anything about being restrictive?
My simple rule would be "If a marking logically applies to everything following it, and a range is selected, it's added once at the start of the range, and reverted at the end of the range". Currently that's the behaviour for clefs and key/time signatures if more than one measure is selected, but nothing else*. For me that should include tempo markings and dynamics (except sf etc.). A way of explicitly avoiding the "auto-revert", e.g holding down another key while adding would be nice though. Or even having it as a user preference. But you can always avoid the auto-revert by only selecting a single note/rest rather than a range.
*) yes, the behaviour is currently different if a single vs multiple measures are selected.
In reply to Who said anything about… by Dylan Nicholson1
cite: "If you can find 1 user in a 1000 (other than JoJo) that thinks the current behaviour is desirable I'll shut up :-)"
Yes, I find the current behavior useful and valuing freedom, and what you want to do is useless and restrictive.
In notation software, I can't imagine selecting a measure, empty or not, to add a tempo change. Knowing that the marking is going to show at the top of the score, I would find a note, in any part, that is on the beat that I want to start the change.
And what if I don't want to return to the original tempo? What if I want to accel. into a different tempo? Or stay at the new tempo? Wouldn't I have to notate those things anyway?
There are things that should be applied to a range, and things that shouldn't. Seems logical to me. There are things that I wish MuseScore did differently. But I don't have a problem with this one.
In reply to In notation software, I can… by bobjp
Typical example of a measure where you might want a tempo change to start. It's far far easier to select the whole measure than picking out that one individual rest. And logically as a composer, I do not think of a tempo change as being something that applies to a rest, whereas I very much do think of it as something applying to a measure (or series of measures).
As far as returning to the original tempo - I agree that's a trickier one, and I would be ok with the admittedly slightly idiosyncratic nature of adding clefs/key signatures where if only a single measure is selected it is not reverted in the next measure, but for a range spanning multiple measures it is - though I'd also be fine with just a single tempo marking being added to the start of the range and requiring the user to decide what they want for measures after the range separately.
But at any rate, I've now seen enough users here seem to prefer the current behaviour that I'm quite serious - the bug to me is that the same behaviour isn't observed for clefs or key-signatures.
Actually key-signatures are even weirder - even if you explicitly select a range of notes half way through a measure it still applies the key signature change at the beginning of the measure, which seems totally wrong.
Right now there is no special casing for tempo as there is for clefs, key, and time signatures. I think there should be. That is, with a range selected, a tempo should be placed at the beginning, and the previous tempo re-established at the end.
In reply to Right now there is no… by Marc Sabatella
I don't even see it as a special case. Some markings mean "only for this note", others mean "from this point on", and others, like hairpins, mean "from the start point to the end". Tempo markings clearly belong in the 2nd category like clefs, time/key signatures, most dynamics, instrument changes etc etc.
In reply to I don't even set it as a… by Dylan Nicholson1
It's special in that it's contrary to how thew hundreds of other symbols work, which really do get applied to notes individually. So while the generic handler for palette items applies to each selected element, certain special cases like clef, key, and time signature get handled differently - as mentioned, to add the change before the selection and restore the old state afterwards. Lines get handled differently still, since there is no previous state to restore at the end of the selection. And I would say tempo is more like the clef/key/time signature than like lines in this respect.
BTW this is now fixed in v4.0, thank you whoever made that call!
It appears to apply to all text elements, note, so now if you have a range in which you want to add, say, sf to all notes, you need to convert to a list-selection first by ctrl+clicking some empty space inside the range.