The Soundslice Blog

New: smooth scrolling during playback

Posted by Adrian Holovaty on January 13, 2016

Today we’ve launched smooth scrolling during Soundslice playback. This makes it much easier and more natural to follow along with the music in our player.

Previously, if you pressed Play on a Soundslice score, the “page” wouldn’t turn until the playhead got to the very end of the “page.” Here’s a video showing the old behavior:

This made sight reading difficult — or impossible! — because of the blind spot at the end of each page.

Today, we’ve fixed that. Our player now smoothly scrolls the notation during playback, making it easy to follow along and sight read without awkward jumpiness or page breaks. Here’s a video of the same music, using our new smooth scrolling:

We designed our scrolling algorithm with these four goals:

We think this approach results in a good default autoscroll experience — but we also realize different musicians have different sight reading preferences. So we’ve also launched a second autoscroll mode, which has a different approach: it keeps the playhead at the top of the screen at all times. Here’s what it looks like in action:.

With the default autoscroll, you’ll find that the playhead generally stays near the bottom of the screen, so that there’s enough space to keep the current and next bars in view. With the “always on top” scrolling mode, the playhead stays at the top of the screen, which is more predictable if, say, you’re used to reading paper sheet music — at the expense of always displaying the currently playing notation (which gets hidden for a split second during the scroll).

To use the “always on top” scrolling mode, use our new scroll_type URL parameter. (That’s mostly intended for our partner sites. We’ll eventually have a way for users to set this preference directly in our interface.)

Finally, as before, if you manually pan the score during playback, we’ll disable automatic scrolling and display a small “Resume autoscroll” button at lower left. Click that button to resume automatic scrolling.

We’re happy with what we came up with, but of course we’d love to hear feedback on what does and doesn’t work well. Get in touch!