Как загружать в Liquidsoap только один трек за раз - PullRequest
0 голосов
/ 06 августа 2020

У меня есть база данных MySQL, в которой хранятся все мои треки и связанная с ними информация. Одна из таблиц в базе данных - это таблица очереди, из которой я беру дорожку для воспроизведения Liquid soap. Я предоставляю эти треки для воспроизведения с Liquid soap с помощью request.dynami c .list.

def get_track() = 
    # Get the first line of my external process
    result = list.hd(default="", get_process_lines(scripts ^ "get_track.py"))
    print(result)
    # Create and return a request using this result
    [request.create(result)]
end

# Create the source
sourcetrack = request.dynamic.list(id="play_queue", conservative=false, get_track)

Скрипт get_track.py извлекает запись из таблицы очереди в базе данных.

Я заметил, что Liquid soap при запуске захватывает две дорожки. Два получают «принято», а один - «подготовлен».

Есть ли способ заставить Liquid soap принимать только один трек за раз и ждать, чтобы принять следующий, только когда приблизится к концу текущая воспроизводимая дорожка?

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

Поскольку Liquid soap, кажется, имеет трек, уже загруженный в свою очередь при воспроизведении "подготовленного" трека, есть ли способ удалить этот трек, чтобы Liquid soap не воспроизводил этот трек следующий, а лучше снова вызвать скрипт get_track.py для загрузки нового трека из таблицы очереди в базе данных?

...