Why does adding a Tempo mark to a range cause multiple tempo markings to be added?

• Jun 28, 2021 - 01:49

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?


In reply to 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 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 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).

I agree that from a user perspective, applying a tempo to a range would

  1. add a tempo to the first note/rest in the range.
  2. add a tempo marker to the first note after the range, with the tempo which was used at that point before this action was initiated. (I.e. the tempo that was set before the range, or the last tempo-change inside the range)
  3. remove all other tempo markers in the range

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

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