Hello,

I'm new to LiquidSoap and this list. I have following use case:

An equeue is populated with tracks to be played, basically resembling
a playlist. At a certain time a new set of tracks is pushed to
the queue (= new scheduled playlist). Now the problem is that these tracks
don't overwrite the queue but are played only after previous queue items
are finished.

I think I have searched almost all sources to find a solution, and the
closest I've come across is within a mailing-list conversation from 2011:


input_fs = request.equeue(id="fs")

def clear_items(s) =
    ret = server.execute("fs.primary_queue")
    ret = list.hd(ret)
    if ret == "" then
        log("Queue cleared.")
        (-1.)
    else
        log("There are still items in the queue, trying skip ...")
        source.skip(s)
        (0.1)
    end
end

def clear_queue(s) =
    add_timeout(fast=false, 0.5, {clear_items(s)})
end

server.register(namespace="fs",
    description="Clear the all items of the filesystem queue.",
    usage="clear",
    "clear",
    fun (s) -> begin clear_queue(input_fs) "Done." end)

Basically it works, but adds some overall timeout to the process
i.e. the scheduling for the next playlist is delayed somewhat.

What is the ideal approach for such scenario?
Do newer LiquidSoap versions cover this with built-in functionality?

Thanks,
David
_______________________________________________
Savonet-users mailing list
Savonet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to