Riff

TL;DR — как устроен Riff

Развёрнутые объяснения устройства Riff простым языком. FAQ отвечает на короткие практические вопросы; здесь можно разобраться, как работает отдельная часть приложения и зачем нужны её основные решения.

Технические вопросы

Зачем FlatBuffers, два процесса, крупные кнопки, калибровка банковской картой и вероятностный AI-подбор на недорогой магнитоле.

Альбомы и Singles: реализованная FSM

Реализованная классификация альбомов и Singles: прежние веса, нумерация имён, основы версий, признаки DJ-сетов, FILF и TTL публикаций.

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

Музыка играет, пока проверяются новые файлы; незаконченный каталог не мешает слушать, место сохраняется, а очередь остаётся предсказуемой.

Взаимодействие Player и Indexer

Роли процессов, AIDL и Binder, подтверждения команд, передача библиотеки и восстановление после сбоев.

Вероятностный подбор музыки

Признаки, оценки, история, температура и выбор очереди без повторов: объяснение с формулами и примерами.

Объяснения описывают принятую архитектуру и ссылаются на её контракты. Сведения о конкретной поставке и проверках находятся отдельно в документации проекта.