musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.36k stars 2.67k forks source link

Configurable nudge distance in Edit Mode #24721

Open rpatters1 opened 2 months ago

rpatters1 commented 2 months ago

Your idea

I would like to be able to configure the arrow nudge distance when editing items in Edit Mode (esp. elements added from "Master palette: Symbols".)

This could perhaps be added to the program preferences.

Problem to be solved

Currently, this doc page implies that the nudge distance is hard-coded at 0.5sp and (it appears with testing) that the ctrl/cmd nudge distance is 1.0sp. Those are simply not granular enough for the kinds of minute adjustments I'd like to make. I can of course drag with the mouse, but those edits are imprecise.

Prior art

Finale configures the nudge distance in pixels. (Preferences->Edit panel) This means you can get finer or coarser nudge granularity by changing the zoom percentage. In my experience, measuring nudge distance in pixels is not all pluses. There are minuses, the chief being that changing the zoom percentage can be disruptive to one's workflow. Especially on Finale. Another is that nudge distances are imprecise in some zoom percentages.

I would be happy with configurable distances in (fractions of) spaces. I would probably change the 0.5sp to 0.25sp but leave the ctrl/cmd distance at 1.0sp. FWIW: on Finale I have the nudge distance set to 1 pixel.

Additional context

No response

Checklist

MarcSabatella commented 2 months ago

I agree, which is why I submitted the same request some time ago ;-)

https://github.com/musescore/MuseScore/issues/13438

bkunda commented 2 months ago

This does indeed seem very similar to, although slightly different from #13438. Hence we'll leave it open.

rpatters1 commented 1 month ago

The slight difference I see between this request and #13438 is that I was thinking of separate keyboard increment settings in the program options and the earlier one envisioned tying it into the snap-to-grid settings. (It is unclear to me if the snap-to-grid settings are in the doc or program options.) In fact that issue seems more focused on snap-to-grid than on nudge keys in edit mode.

I am thinking of taking this on as my next project, but I'd like to understand if there is a consensus around scope and approach.

  1. I am going to suggest making it a separate setting from the snap-to-grid distance. There is a chance of user confusion if the grid setting is controlling the nudge keys when it is turned off. The most logical place to me for the setting seems like Preferences->Canvas->Miscellaneous. There would be a small and larger distance specified in fractional space increments (specified with decimal).
  2. Are the drag and keyboard snap behavior in-scope if we separate this from snap-to-grid?
  3. I agree that the fractional specification for the grid is cumbersome, but I also view it as out of scope if we agree on my suggestion in 1.

In fact, if we take the approach of it being a Preference, I don't see it addressing #13438 at all beyond removing the nudge increments from its scope. I think it probably would resolve #16862.

MarcSabatella commented 1 month ago

I'm not seeing it being 0.5 anymore with 4.4.2 - seems like 0.1. But I don't see any relevant code changes, so I wonder if there is something else going on.

rpatters1 commented 1 month ago

I'm still seeing the 0.5 in 4.4.2, provided you go into Edit mode. (That is, right click the item and select "Edit element".) Otherwise, if you simply click the element, the (vertical) arrow keys seem to nudge by a context-sensitive amount. For example, articulations nudge by a tiny amount, perhaps 0.1. But rests nudge by a full space.

I'm wondering why there should be a difference in behavior and what the proper solution is.

MarcSabatella commented 1 month ago

For rests it is definitely by design, since there are specific rules of notation governing their position and the default behavior should honor them. You should still be able to do fine tuning in Properties. For articulations, it’s certainly possible this was also by design, but I don’t really know.