AMNS / Nightingale

Nightingale music notation software.
Mozilla Public License 2.0
11 stars 3 forks source link

During MIDI playback, Ngale should "turn the page" if any of it isn't on screen #196

Open donbyrd opened 2 years ago

donbyrd commented 2 years ago

During MIDI playback, Ngale draws the "next" page only if virtually none of that page is in view yet; if more than a tiny sliver of the page is already on the screen, it doesn't "turn the page". This seems to be backwards! That might have made sense 25 years ago when screens were much smaller and computers much slower, but now, Ngale should turn the page if more than a tiny sliver is not on the screen. This should just be a matter of changing the test; see code in MIDIPlay.cp>PlaySequence(). The variables pageTurnTOffset, tBeforeTurn, newPage have something to do with it, but scrolling is actually done in HiliteSyncRect() called from PlaySequence.

donbyrd commented 2 years ago

HiliteSyncRect() scrolls if and only if the Sync to be hilited isn't in view. Instead, it should probably scroll iff the Sync's entire page isn't in view.