MobileSheets Forums

Full Version: Scrolling Bug (Set List)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
The first song in a set list is two pages, the first page A4ish and the 2nd page about half an A4
The second song is a single page (and will be displayed using the default display mode i.e. "Single Page")

The 1st song does not use the default display mode (it uses Vertical Scrolling)
Note: Vertical Scrolling has not been applied to the whole setlist 
Page Alignment is set to Top

I'm using the "Time Before Scrolling Starts" to kick it off (about 115 secs but now testing with 5!)
Scrolling starts as expected and one can see the 2nd page and, as the scroll progresses, the beginning of the second song. However, as soon as the top of the 2nd page hits the top of the display, the screen is immediately filled with the second song in the list (I'm still trying to play the 2nd page of the 1st song!)

Putting a 2nd "Vertical Scrolled" 2-page song after the first doesn't exhibit this problem (the scroll correctly stops displaying the 2nd page and the top of the second song)

I know I could set the whole set list to be "Vertically Scrolled" but I'm old and I like my single page songs to be on their own page (i.e. not showing the top of the following song)

With the vertical scrolling display mode, when the top of a page passes the half-way point on the screen, that is considered the active page (this is similar to how Adobe handles it in Adobe Acrobat). So if you have a song where the last page takes up about half the screen, when that is scrolled up to the top of the screen, the next song is probably passing that half-way point and is being activated as the current song. If the newly activated song has a different display mode, then MobileSheetsPro has to switch display modes to reflect that. Obviously with this particular example, you would like MobileSheetsPro not to change songs until the second song's first page reaches the top of the screen, but if the logic was changed to work this way, it would cause all sorts of problems with other scenarios. For example, if you were viewing page 2 of a song, and you barely scrolled the first page into view, you wouldn't expect MobileSheetsPro to change the current page number to 1 just because the top of page 2 was now barely below the top of the screen (at least I wouldn't expect that). 

So I don't really have a good answer for how to handle this scenario right now. The best solution would be for you to create the pages all with identical sizes. If you had white space after the end of the second page, then the song wouldn't change until that white space hit the top of the screen, which would probably give you plenty of time to play the content on the first half of the page. One thing I'd love to support in the future is an option to normalize pages so that every page in a song or setlist would be sized to match the maximum width and height of all pages. So if you had some partial pages, this would ensure the zoom level and sizing was consistent through all pages, as I would just add white padding to the edges of pages as needed.

One thing I can investigate is having a flag where the code responsible for laying out pages in a vertical fashion can see if automatic scrolling is active, and when it is, only change the active page when the top of a page crosses the top of the screen. I don't know what functionality that could mess up though, and things could get weird if users manually scroll the pages in the middle of automatic scrolling (which I know some users do to quickly speed up scrolling). For example, as I discussed earlier, if you manually scrolled down a page after it had crossed the top of the screen (revealing the bottom of the previous page), MobileSheets would make the previous page the active page which may or may not be a big deal.

If you have ideas or suggestions, I'll be happy to hear them.

Hi Mike

Thanks for the explanation.
In my case the cropped 2nd page is only cropping an unused white area so I can easily fix my problem by displaying more white space

I can see what you are saying but, to me, only the first song had vertical scrolling so the scroll should have stopped as soon as the last page reached the top (this would leave a small 2nd page showing with the top of the following song below it). - the position of the top of the 2nd song doesn't really come into it.

My current method of scrolling is to Start Scrolling after a long delay e.g. 125 seconds. This is not the best because when I'm 3/4 down the page I'm thinking "shouldn't it be scrolling by now?" and/or "did I remember to start scrolling before the song started?". If I did forgot to press start scrolling, I can't press it now as it going to take another 125 seconds before it starts; this means that I have to manually scroll or tap for the next page (something I'm trying to avoid).
It would be nice if a Smart button could be used which would initiate immediate scrolling (that would be a single tap) and, when the first page completely fills the screen, a reminder that a 2nd page does exist. Having such a Smart button means one could place it at an appropriate place near the bottom of the page. There would be no need for any visual cues as this would be provided by the immediate scrolling.

Another use for a Smart button would be to use it to initiate normal scrolling i.e. using the configured scroll settings (in my case after 125 secs). This could be placed near the top of the song as a reminder to press it. However, it would need to change colour or provide some other indication to show that it has been activated. Your current implementation of the buttons doesn't seem to provide any such visual cue other than a quick button blink and the immediate execution of the action. Modifying it to what I'm suggesting sounds like a lot of work so it is probably best to leave it as it is.

As always, many thanks for a great program and all your excellent support