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

Refact: Use JSON builder and structure

parent 6d111ead
No related branches found
No related tags found
1 merge request!3Liquidsoap 2 migration
......@@ -22,7 +22,7 @@
#
# Get connection state of outgoing streams
# Get connection state of outgoing streams #TODO refactor
server.register(namespace="aura_engine",
description="returns if outgoing streams are connected",
usage="out_streams_connected",
......@@ -37,42 +37,39 @@ server.register(namespace="aura_engine",
# Get state of the inputs/outputs as JSON
server.register(namespace = "aura_engine",
description="returns enabled line-in, line-out and connected outgoing streams",
usage="state",
"state",
usage="status",
"status",
fun(s) -> begin
ignore(s)
log("executing: aura_engine.state")
ret = '{'
ret = ret^'"streams": {'
ret = ret^'"stream_0": {"enabled": #{s0_enable}, "connected": #{!s0_connected}},'
ret = ret^'"stream_1": {"enabled": #{s1_enable}, "connected": #{!s1_connected}},'
ret = ret^'"stream_2": {"enabled": #{s2_enable}, "connected": #{!s2_connected}},'
ret = ret^'"stream_3": {"enabled": #{s3_enable}, "connected": #{!s3_connected}},'
ret = ret^'"stream_4": {"enabled": #{s4_enable}, "connected": #{!s4_connected}}'
ret = ret^'},'
ret = ret^'"linein": {'
ret = ret^'"linein_0": {"enabled": #{a0_in != ""}},'
ret = ret^'"linein_1": {"enabled": #{a1_in != ""}},'
ret = ret^'"linein_2": {"enabled": #{a2_in != ""}},'
ret = ret^'"linein_3": {"enabled": #{a3_in != ""}},'
ret = ret^'"linein_4": {"enabled": #{a4_in != ""}}'
ret = ret^'},'
ret = ret^'"lineout": {'
ret = ret^'"lineout_0": {"enabled": #{a0_out != ""}},'
ret = ret^'"lineout_1": {"enabled": #{a1_out != ""}},'
ret = ret^'"lineout_2": {"enabled": #{a2_out != ""}},'
ret = ret^'"lineout_3": {"enabled": #{a3_out != ""}},'
ret = ret^'"lineout_4": {"enabled": #{a4_out != ""}}'
ret = ret^'}'
ret = ret^'}'
ret
# outgoing streams enabled?
#ret = "stream_0_enabled:#{!s0_enable}, stream_1_enabled:#{!s1_enable}, stream_2_enabled:#{!s2_enable}, stream_3_enabled:#{!s3_enable}, stream_4_enabled:#{!s4_enable}, "
#ret = ret^"linein_0_enabled:#{a0_in != ''}, linein_1_enabled:#{a1_in != ''}, linein_2_enabled:#{a2_in != ''}, linein_3_enabled:#{a3_in != ''}, linein_4_enabled:#{a4_in != ''}, "
#ret = ret^"lineout_0_enabled:#{a0_out != ''}, lineout_1_enabled:#{a1_out != ''}, lineout_2_enabled:#{a2_out != ''}, lineout_3_enabled:#{a3_out != ''}, lineout_4_enabled:#{a4_out != ''}, "
#ret = ret^"fallback_max_blank:#{fallback_max_blank}, fallback_min_noise:#{fallback_min_noise}, fallback_threshold:#{fallback_threshold}"
log("executing: aura_engine.status")
json_streams = {
stream_0 = { enabled = "#{s0_enable}", connected = "#{!s0_connected}" },
stream_1 = { enabled = "#{s1_enable}", connected = "#{!s1_connected}" },
stream_2 = { enabled = "#{s2_enable}", connected = "#{!s2_connected}" },
stream_3 = { enabled = "#{s3_enable}", connected = "#{!s3_connected}" },
stream_4 = { enabled = "#{s4_enable}", connected = "#{!s4_connected}" }
}
json_linein = {
linein_0 = { enabled = "#{a0_in != ''}" },
linein_1 = { enabled = "#{a1_in != ''}" },
linein_2 = { enabled = "#{a2_in != ''}" },
linein_3 = { enabled = "#{a3_in != ''}" },
linein_4 = { enabled = "#{a4_in != ''}" }
}
json_lineout = {
lineout_0 = { enabled = "#{a0_out != ''}" },
lineout_1 = { enabled = "#{a1_out != ''}" },
lineout_2 = { enabled = "#{a2_out != ''}" },
lineout_3 = { enabled = "#{a3_out != ''}" },
lineout_4 = { enabled = "#{a4_out != ''}" }
}
json_data = json()
json_data.add("streams", json_streams)
json_data.add("linein", json_linein)
json_data.add("lineout", json_lineout)
json.stringify(json_data)
end
)
......@@ -99,26 +96,46 @@ server.register(namespace="aura_engine",
end
)
# to reduce complexity of lqs => query 'mixer.inputs' over socket and parse it in python
#server.register(namespace="aura_engine",
# "enabled_lineins",
# fun (s) -> begin
# log("auraengine.enabled_lineins")
# "0:#{!linein_0_enabled}, 1:#{!linein_1_enabled}, 2:#{!linein_2_enabled}, 3:#{!linein_3_enabled}, 4:#{!linein_4_enabled}"
# end
#)
#server.register(namespace="aura_engine",
# "enabled_lineouts",
# fun(s) -> begin
# log("auraengine.enabled_lineouts")
# "0:#{!lineout_0_enabled}, 1:#{!lineout_1_enabled}, 2:#{!lineout_2_enabled}, 3:#{!lineout_3_enabled}, 4:#{!lineout_4_enabled}"
# end
#)
#
# Namespace: mixer
#
# Activate a source by selecting it and setting the volume to 100 (or vice versa)
server.register(namespace = "mixer",
description = "is selecting a source and setting the volume to 100",
usage = "activate <source number> <true|false>",
"activate",
fun(p) -> begin
params=string.split(separator=" ", p)
if list.length(params) < 2 then
print(p)
"Usage: mixer.activate <source nb> <true|false>"
else
source_number = list.nth(default="0", params, 0)
source_enable = list.nth(default="false", params, 1)
if source_enable == "true" then
r = server.execute("mixer.select #{source_number} true")
print(r)
r = server.execute("mixer.volume #{source_number} 100")
print(r)
else
r = server.execute("mixer.volume #{source_number} 0")
print(r)
r = server.execute("mixer.select #{source_number} false")
print(r)
end
"Done!"
end
end
)
#
# Namespace: misc #TODO: partly to be refactored
# Namespace: misc #TODO: refactor
#
......@@ -145,40 +162,6 @@ ignore(fade_in_time)
ignore(fade_out_time)
# Activate a source by selecting it and setting the volume to 100 (or vice versa)
def activate(p) =
params=string.split(separator=" ", p)
if list.length(params) < 2 then
print(p)
"Usage: mixer.activate <source nb> <true|false>"
else
source_number = list.nth(default="0", params, 0)
source_enable = list.nth(default="false", params, 1)
if source_enable == "true" then
r = server.execute("mixer.select #{source_number} true")
print(r)
r = server.execute("mixer.volume #{source_number} 100")
print(r)
else
r = server.execute("mixer.volume #{source_number} 0")
print(r)
r = server.execute("mixer.select #{source_number} false")
print(r)
end
"Done!"
end
end
server.register(namespace = "mixer",
description = "is selecting a source and setting the volume to 100",
usage = "activate <source nb> <true|false>",
"activate",
activate
)
def icy_update(v) =
# Parse the argument
......
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