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.18k stars 2.64k forks source link

[MU4 Issue] Page View - Canvas size / white space #11363

Open lengthwave opened 2 years ago

lengthwave commented 2 years ago

Describe the bug Canvas size creates an unnecessary amount of white space in Page View mode. The larger the monitor, the more unnecessary space. When quickly scrolling a score it is easy to overshoot and have to scroll back.

To Reproduce Steps to reproduce the behavior:

  1. Open a score in Page view
  2. Scroll in any direction past edge of score
  3. View the vast wilderness and wide open prairies that is the canvas

Expected behavior Scrolling should stop at a reasonable amount of padding to comfortably show edges of the page.

Screenshots Page View - 100%

Screen Shot 2022-04-25 at 7 12 37 PM

Page View - 200%

Screen Shot 2022-04-25 at 7 13 29 PM

Page View - 1,600%

Screen Shot 2022-04-25 at 7 13 54 PM

Platform information OS: macOS 12.2, Arch.: x86_64 MuseScore version (64-bit): 4.0.0-2214419458 revision: github-musescore-musescore-df96a36

lengthwave commented 2 years ago

@Tantacrul - FYI

Tantacrul commented 2 years ago

Would be nice to reduce this unnecessary extra space by around 50-75%

GargDivanshu commented 2 years ago

Hey if the issue is still unresolved, can you assign it to me?

HemantAntony commented 2 years ago

Feel free to work on this issue

Tantacrul commented 2 years ago

Hey if the issue is still unresolved, can you assign it to me?

Done

GargDivanshu commented 2 years ago

Hey if the issue is still unresolved, can you assign it to me?

Done

oky, so just to cross verify, I checked the software and you want scrolling should stop much early without leaving a large amount of blank space ?

something like this should be max scroll you want users to have?

musescore demo

Tantacrul commented 2 years ago

That looks pretty decent to me, although I wonder why one would need quite so much horizontal space. I'd probably tighten it a little more on horizontally by about 33%.

cbjeukendrup commented 2 years ago

If we limit the "overscroll" to such a low value (which seems reasonable to me), is the setting in Preferences > Canvas > "Limit scroll area to page borders" then still useful? (Has it ever been useful?)

Tantacrul commented 2 years ago

Yeah, good question. I think it's one of those half-way house options that kind of (but not really) solves the main problem, which is that you could scroll too far :D

I think we should get rid of it.

GargDivanshu commented 2 years ago

Sorry sir, i tried 2 of my systems, both in Linux and Windows but QT doesn't seem to work on my systems at all. Is there any other way to compile MuseScore without QT? Well if not, then I'm rn unable to work on it.

cbjeukendrup commented 2 years ago

MuseScore (mainly its UI) is really built on Qt, so there's no way to build without it. If you join our Discord server at https://discord.gg/HwHhXEbJ4r (if you haven't done so already), I or someone else can help you with setting everything up.

GargDivanshu commented 2 years ago

Thank you for providing discord link, will reach out to folks there

L0uisc commented 1 year ago

@Tantacrul if I remember correctly, the reason for the large padding was to enable zooming in, then out again to stay on a stable spot in the score. If the padding is too small, the score moves when zooming out. I don't know how much of an issue that is and how it is usually handled from a design perspective.

Recalling e.g. CAD software I have used, they usually have infinite padding around the editing layout, with controls to center the drawing on the page and zoom it to a size where it fills the screen. Is that maybe the solution here? That continuous mode has 'infinite' padding. Page mode should work like MS Word's Print Layout.

The same is relevant to #11325.

Tantacrul commented 1 year ago

Yeah, we want some padding but not so much the page is barely visible. So perhaps a little less than we have now.

L0uisc commented 1 year ago

@Tantacrul I'm thinking of something a little different. I'll try to explain better.

  1. In Page view (vertical scrolling), the following behaviour:
    • If the page width at a given zoom level is less than the viewport width (minus padding), center the page in the viewport.
    • If the page width is wider than the viewport, add ~10 mm padding left and right.
    • Always have ~ 10 mm padding above the top page and below the bottom page.
    • Similar logic should be in effect with horizontal scrolling, replacing width with height and top page and bottom page with leftmost page and rightmost page.
  2. In Continuous view (both variants) the user should be allowed to zoom out and in quite far, and no restrictions should be put on panning. The user should be able to make the score a 3x4 px rectangle on the screen and completely scroll it off-screen. This is normal in many CAD software UIs. This necessitates the need to have a command to reset the view to a "normal" zoom level and pan the view to show the drawing in the viewport (instead of off-screen).

I don't know if it is good design, but it's a way of doing UI for similar kinds of software which is familiar to me (and some other people). Do you think there's merit to the idea, or is it a case of "never gonna happen" to you?