Подмотка

Подмотка (англ. preroll) — это композиция, автоматически вставляемая в плейлист перед композицией, которая была выбрана в соответствие с его настройками.  Подмотка используется для акцентирования внимания на конкретных композициях (например, если у исполнителя скоро концерт).

Есть два способа настройки подмотки.  Они сводятся к определению меток, по которым выбирается случайный файл, который и является подмоткой (подробности описаны в подразделах).  Оба метода используются всегда: сначала собираются метки для плейлиста, затем - метки для текущей композиции, по ним выбирается случайная композиция, которая и является подмоткой.

Подмотка для плейлиста

Подмотка на уровне плейлиста создаётся с помощью свойстве preroll плейлиста. В этом свойстве указывается список меток, по которым выбирается подмотка. Пример настройки плейлиста:

- name: heavy_music
  labels: [music, +heavy]
  preroll: [heavy-preroll]
  delay: 30

В такой конфигурации в плейлист попадут композиции с метками "music" и "heavy", а перед ними будет каждый раз звучать случайная композиция с меткой "heavy-preroll".

Подмотка для меток

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

Для выбора подмотки этого уровня ко всем меткам композиции добавляется суффикс "-preroll" и выбирается случайный файл с одной из полученных меток. Например, если из плейлиста была выбрана композиция с метками "rock", "female" и "vocals", подмотка будет выбираться по меткам "rock-preroll", "female-preroll" и "vocals-preroll" (достаточно одной из них).