Играем несколько папок с ротацией

Играем несколько папок с ротацией #

Суть скрипта такова. У нас есть несколько папок, будем играть по треку из каждой папки, чередуя папки.

Top-1, Instr-1, Man-1, Woman-1, Instr-2, Gold-1, Gold-2

и так далее по кругу

Top-2, Instr-3, Man-2, Woman-2, Instr-4, Gold-3, Gold-4

При неравномерном количестве треков в папках радио будет играть не повторяясь достаточно долго.

Скрипт назовем multiple_folders.liq

Музычку положим в папки Man, Woman, Instr, Top, Gold рядом со скриптом

# новый синтаксис настроек
# устанавливаем уровень 3 - для отладки достаточно
settings.log.level.set(3) # ранее было set("log.level", 3)
# включаем вывод отладочной информации
settings.log.stdout.set(true)

# папка с треками в исполнении мужчин
man = mksafe(playlist('Man'))
# папка с треками в исполнении женщин
woman = mksafe(playlist('Woman'))
# папка с инструментальными треками
instrumental = mksafe(playlist('Instr'))
# папка с топовыми треками
top = mksafe(playlist('Top'))
# папка с золотой коллекцией
gold = mksafe(playlist('Gold'))

# играем треки из каждоый папки по очереди, но из папки Gold играем по два трека за раз
radio = rotate(weights = [1, 1, 1, 1, 1, 1, 2],[top, instrumental, man, woman, instrumental, gold])
radio = mksafe(radio)
radio = crossfade(radio)

out = output.pulseaudio(fallible=true,radio)

Заливаем музыку в папки Man, Woman, Instr, Top, Gold и запускаем скрипт командой

$ liquidsoap multiple_folders.liq