Riff

So you can just listen

You add music, start an album and turn off the head unit when you arrive. Four decisions inside Riff help these everyday actions work without unexpected consequences.

Separate indexing — music plays while Riff sorts through new files

You plug in a USB drive containing thousands of songs. Riff needs to read their names, identify the artists and put albums together. That takes time.

A separate part of the application handles this work. You can keep listening to music that is already available, while new albums appear as they become ready. On the next check, Riff reuses the information it has collected instead of doing all the work again.

Validated snapshots — a new catalog is prepared and checked before it replaces the old one

Imagine rewriting a long list of music albums. If you erase the old list immediately and the lights go out halfway through, you are left with half a new list.

Riff therefore keeps the previous catalog while preparing the next one. It checks that the new set has been written completely and that its parts agree with each other. Only then does it switch to that catalog.

If writing is interrupted, the previous working catalog remains available. The songs themselves are not copied.

Recovery checkpoints — Riff remembers where you stopped

You were listening to an audiobook, arrived at your destination and turned off the head unit. Next time, you want to continue from the same place.

Riff regularly saves the current track, your position within it and the order of playback. Different users have their own saved places in books and albums.

If power is cut suddenly, the latest changes may not have been saved yet. You may need to listen to a short passage again. That is why saving happens while the application is running, rather than only when it closes.

Fixed queues — the list you started does not change without your decision

You start a playlist of twenty songs. While it plays, you add five more songs to the playlist or remove a few old ones.

Playback continues with the list you started. Those edits take effect when you start it again. Likewise, a library update should not unexpectedly replace the songs coming next.

You can still skip tracks, shuffle and repeat. Riff's background work does not rearrange your queue on its own.