Riff

Чтобы можно было просто слушать

Вы добавляете музыку, запускаете альбом и выключаете магнитолу, когда приехали. Четыре решения внутри Riff помогают этим обычным действиям проходить без неожиданных последствий.

Отдельная индексация — музыка играет, пока Riff разбирает новые файлы

Вы подключили флешку с тысячами песен. Riff нужно прочитать названия, найти исполнителей и собрать альбомы. Это занимает время.

Этой работой занимается отдельная часть приложения. Вы можете продолжать слушать уже доступную музыку, а новые альбомы будут появляться по мере готовности. При следующей проверке Riff использует уже собранные сведения, чтобы не выполнять всю работу заново.

Проверка снимков базы — новый каталог сначала готовится и проверяется, а потом заменяет старый

Представьте, что вы переписываете большой список музыкальных альбомов. Если стереть старый список сразу, а посередине работы выключится свет, останется только половина нового.

Поэтому Riff сохраняет прежний каталог, пока готовит следующий. Он проверяет, что новый комплект записан целиком и его части согласуются между собой. Только после этого переключается на него.

Если запись оборвалась, можно продолжить пользоваться прежним исправным каталогом. Сами песни при этом никуда не копируются.

Точки восстановления — Riff запоминает, где вы остановились

Вы слушали аудиокнигу, приехали и выключили магнитолу. При следующем запуске хочется продолжить с того же места.

Riff регулярно сохраняет текущий трек, место внутри него и порядок дальнейшего воспроизведения. У разных пользователей свои сохранённые места в книгах и альбомах.

При внезапном отключении питания последние изменения могли ещё не сохраниться. Тогда небольшой фрагмент придётся прослушать повторно. Поэтому сохранение происходит во время работы, а не только при закрытии приложения.

Фиксированные очереди — список запущенных треков не меняется без вашего решения

Вы запустили плейлист из двадцати песен. Пока он играет, добавили в него ещё пять или удалили несколько старых.

Текущее воспроизведение продолжит использовать тот список, который вы запустили. Изменения будут учтены при новом запуске. Точно так же обновление библиотеки не должно неожиданно подменять следующие песни.

Переключать треки, включать перемешивание и повтор по-прежнему можно. Но фоновая работа Riff сама не пересоставляет вашу очередь.