Unable to set Tempo at 100% in Musescore 2.

• Feb 26, 2016 - 19:32
Graphical (UI)

When I open a piece, tempo is (of course) 100%.
Since a few weeks, when I temporarily change the tempo of a piece,
I cannot get it back to 100% during the session.
I can set tempo to 99 % and 101% but not 100%.
What is wrong and how can I restore this?



Can you attach the score you are having problems with and precise steps to reprodcue the problem?

What goes wrong if you just type 100 into the box?

In the future, it is better to ask for help in the support forum - the issue tracker is for use once something is confirmed as a bug with precise steps provided to allow developers to reproduce the problem. And the "assigned" field is for the develop who will *fix* the bug, not the person who submitted it.

It happens in all the scores that I work on.
The strange thing is, that it is only a recent problem.
Until a few weeks ago I could easily slide to 100.
How come that only 100 is the problem?

When I type 100 it works, but when I change the tempo with the slider, It is impossible to slide it back to 100.


I think it probably depends on the actual score. It's most likely a question of rounding off, based on what the original tempo was. I don't have any particular setitng to 100 on the particular scores I tried, but the slider is indeed fiddly to work with, which is why we provide a much more accurate control as well. Think of the slider as a way to do quick ballpark adjustments only, but if you care about precision, use the box.

That said, we could certainly consider adding code to "snap" to 100 when the sldier gets close, as a minor enhancement.

No, it is the same with all scores.
Until a few weeks ago the slider was not fiddly;
I could easily set it to 100% any time.

I was going to propose a double click on slider to reset tempo to 100%, but I found that it _does_ work! Use it, this is a smart feature!

You are right, that does work, thanks.

I might still wonder why I cannot slide to 100 anymore though.

Maybe it has something to do with another strange thing, namely
when I use the tempo slider during a piece, it sometimes acts like the horizontal slider in the panel.
So, when I want to change the tempo, I am suddenly in a totally different part of the score!

I am pretty sure that as I said before, it really is just a question of rounding off of values - some tempos when multipled by 0.99 or 1.01 happen to work out to values such that the slider likes to go there instead. It will most likely depend on the original tempo as well as the scaling factor you changed it to, plus probably the size of the slider (which depends in turn on how you have sized the Play Panel, maybe on your screen resolution too). So it's going to vary from situation to situation - it's not likely really the case that it always used to work and now never does. Certainly that's not the case for me. I find sometimes 100% is easy to set, other times it isn't,a nd that's always how it is when adjusting a slider that deals with floating point values.

It seems depending of your mouse or screen properties. It is not a function of panel size, I am working with the smallest one and in every predefined tempo it's easy to set any value of the scale (it's why I discovered tempo reset feature only by your request). ))
I think the request can be closed as the tempo resets to 100% easily.

True, but since that's not quite so easily discoverable, I'm still in favor of the "snap" behavior.

The proposed change from shredpub does seem to work well, but since the specific behavior depends on these different variables, maybe someone else would like to test it out too (it's easy enough to just replicate his code in your own branch).

The idea is that when you move the slider and get somewhere close to 100 (shredpub's code defines "close" as anywhere between 95-105%), the slider automatically "snaps" to 100. Making it mch easier to move the sldier to 100% - anything in the general area will work. Conversely, you wouldn't be able to deliberately set the tempo scaling factor to 99% - not that I can imagine a real world use case where you'd need to.

I think anyone who wants to set a precise value should simply use the box, so it doesn't really matter to me what the slider does. I think of sliders as ways to set a ballpark figure if you don't care about specific values. So for me, an obvious way to return to 100 makes sense (double click isn't obvious), but beyond that, I can't see that I'd want any other snap values.

I've tried out the PR. I hate to say this, but my peresonal option is I don't like the PR, because I'm now unable to adjust from %98 to %99 with my mouse. I now have to resort to the keyboard, but that is frustrating when I have an instrument in front of me. Just last night I was practicing something hard where I was having to work my way up from %95 through every percentage point, and I could get %99 since I had stretched the play panel window to the full height of my screen. That was on the latest git master, so I don't know why some people here are saying that it stopped working a few weeks ago EDIT: I see havoc wrote that a couple weeks ago, so might have been true then.

However, if the "snappines" percentage could be moved from being hardcoded inside the if statement, and rather placed in the MuseScore.ini or other preferences file, then I would be ok, because I can use my settings without recompiling. I think a lot of these little parameters should just be left to a preferences...but I know that I have a minority viewpoint on that matter here. No agreement will ever be made about what percentage the snappiness level should be, because the optimal setting depends on a user's screen resolution, dpi, and mouse sensitivity, touchpad v. mouse, and personal preferences.

I think the default snappiness percent of +/- %1 is sensible. If having problems setting to %100, then can always double click tempo bar. I worry with this PR, then we are just going to get issue reports saying "I can't set playback speed to %99 with mouse!"

FYI, in order for the issue in musescore.org to be marked as fixed automatically, I think you have start the commit title with "fix #nnnn" (I don't know if "Fixing" will work...does it?). Also I think the commit title should say what is fixed (in as few words as possible), like "fix #99811 snap playback tempo".

Thanks for your comment. I was wondering about going with +- 1 % as well, but figured that a specific requirement like having a tempo of 99% would be uncommon, in which case the user can use the keyboard. However, I've updated the PR with +-1 % and now the entire range should be easily accessible using the mouse itself (it is different from the default snappiness percent of +-1 % due to the multiplication happening there). The idea was to have this snap behavior because double clicking tempo bar is not something which comes obvious to the user, and an obvious way to return to 100 would make sense. I would encourage others to test it out as well and let me know if there are any problems.
ps : Thanks for the FYI, made the original PR when I was in a hurry, looks better now with the squashing and commit message.

Status (old) patch (ready to commit) fixed

Fixed in branch master, commit c19826d454

fix #99811 : Implements snapping of tempo slider

Remove extra cout

fix #99811: Snap tempo slider to 100 as it gets close