Skip to content
Snippets Groups Projects
Commit 97ff5cf7 authored by David Trattnig's avatar David Trattnig
Browse files

refact(queue): clear using liquidsoap 2 features

#16
parent 96ded977
No related branches found
No related tags found
No related merge requests found
Pipeline #2212 passed
...@@ -18,17 +18,30 @@ ...@@ -18,17 +18,30 @@
#####################################
# FUNCTIONS #
#####################################
# Clear all requests in the queue
def clear_queue(s) =
q = s.queue()
s.set_queue([])
s.skip()
list.iter(request.destroy, q)
end
##################################### #####################################
# QUEUE SOURCES # # QUEUE SOURCES #
##################################### #####################################
# Create Sources # Create Sources
input_filesystem_0 = request.queue(id="in_filesystem_0") input_filesystem_raw_0 = request.queue(id="in_filesystem_0")
input_filesystem_1 = request.queue(id="in_filesystem_1") input_filesystem_raw_1 = request.queue(id="in_filesystem_1")
# Apply ReplayGain normalization, if metadata available # Apply ReplayGain normalization, if metadata available
input_filesystem_0 = amplify(id="in_filesystem_0", 1., override="replay_gain", input_filesystem_0) input_filesystem_0 = amplify(id="in_filesystem_0", 1., override="replay_gain", input_filesystem_raw_0)
input_filesystem_1 = amplify(id="in_filesystem_1", 1., override="replay_gain", input_filesystem_1) input_filesystem_1 = amplify(id="in_filesystem_1", 1., override="replay_gain", input_filesystem_raw_1)
# See https://github.com/savonet/liquidsoap/discussions/2537 # See https://github.com/savonet/liquidsoap/discussions/2537
# input_filesystem_0 = replaygain(input_filesystem_0) # input_filesystem_0 = replaygain(input_filesystem_0)
# input_filesystem_1 = replaygain(input_filesystem_1) # input_filesystem_1 = replaygain(input_filesystem_1)
...@@ -41,32 +54,31 @@ input_filesystem_1.on_metadata(on_metadata_notification) ...@@ -41,32 +54,31 @@ input_filesystem_1.on_metadata(on_metadata_notification)
# SERVER FUNCTIONS # # SERVER FUNCTIONS #
##################################### #####################################
# Clear Default Queue A # Clear Default Queue A
server.register(namespace=source.id(input_filesystem_0), server.register(namespace=source.id(input_filesystem_0),
description="Clear all items of the default queue A.", description="Skip & clear all items from queue A.",
usage="clear", usage="clear",
"clear", "clear",
fun (s) -> fun (s) ->
begin begin
ignore(s) ignore(s)
clear_queue(input_filesystem_0) clear_queue(input_filesystem_raw_0)
"Clearing done." "OK"
end end
) )
# Clear Default Queue B # Clear Default Queue B
server.register(namespace=source.id(input_filesystem_1), server.register(namespace=source.id(input_filesystem_1),
description="Clear all items of the default queue B.", description="Skip & clear all items from queue B.",
usage="clear", usage="clear",
"clear", "clear",
fun (s) -> fun (s) ->
begin begin
ignore(s) ignore(s)
clear_queue(input_filesystem_1) clear_queue(input_filesystem_raw_1)
"Clearing done." "OK"
end end
) )
......
...@@ -18,29 +18,6 @@ ...@@ -18,29 +18,6 @@
#####################################
# CLEAR SOURCE #
#####################################
def clear_items(ns) =
ret = server.execute("#{source.id(ns)}.queue")
ret = list.hd(default="", ret)
if ret == "" then
log("Queue cleared.")
(-1.)
else
log("There are still items in the queue '#{source.id(ns)}', skip RID #{ret} ...")
source.skip(ns)
(0.1)
end
end
def clear_queue(ns) =
add_timeout(fast=false, 0.5, {clear_items(ns)})
end
##################################### #####################################
# DYNAMIC SOURCES # # DYNAMIC SOURCES #
##################################### #####################################
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment