feat(playout): allow updating message_offline value
This commit is contained in:
parent
314c70a208
commit
f5a83dbabb
|
@ -358,6 +358,11 @@ class Application_Model_Preference
|
|||
public static function setOffAirMeta($offAirMeta)
|
||||
{
|
||||
self::setValue('off_air_meta', $offAirMeta);
|
||||
|
||||
Application_Model_RabbitMq::SendMessageToPypo(
|
||||
'update_message_offline',
|
||||
['message_offline' => $offAirMeta]
|
||||
);
|
||||
}
|
||||
|
||||
public static function GetStationName()
|
||||
|
|
|
@ -106,6 +106,9 @@ server.register(namespace="vars",
|
|||
server.register(namespace="vars",
|
||||
"station_name",
|
||||
fun (s) -> begin log("vars.station_name") station_name := s s end)
|
||||
server.register(namespace="vars",
|
||||
"off_air_meta",
|
||||
fun (s) -> begin log("vars.off_air_meta") off_air_meta := s s end)
|
||||
server.register(namespace="vars",
|
||||
"bootup_time",
|
||||
fun (s) -> begin log("vars.bootup_time") time := s s end)
|
||||
|
@ -159,11 +162,10 @@ server.register(namespace="dynamic_source",
|
|||
# fun (s) -> begin log("dynamic_source.read_stop") destroy_dynamic_source_all() end)
|
||||
|
||||
default = amplify(id="silence_src", 0.00001, noise())
|
||||
ref_off_air_meta = ref off_air_meta
|
||||
if !ref_off_air_meta == "" then
|
||||
ref_off_air_meta := "LibreTime - offline"
|
||||
if !off_air_meta == "" then
|
||||
off_air_meta := "LibreTime - offline"
|
||||
end
|
||||
default = rewrite_metadata([("title", !ref_off_air_meta)], default)
|
||||
default = rewrite_metadata([("title", !off_air_meta)], default)
|
||||
ignore(output.dummy(default, fallible=true))
|
||||
|
||||
master_dj_enabled = ref false
|
||||
|
|
|
@ -106,6 +106,9 @@ server.register(namespace="vars",
|
|||
server.register(namespace="vars",
|
||||
"station_name",
|
||||
fun (s) -> begin log("vars.station_name") station_name := s s end)
|
||||
server.register(namespace="vars",
|
||||
"off_air_meta",
|
||||
fun (s) -> begin log("vars.off_air_meta") off_air_meta := s s end)
|
||||
server.register(namespace="vars",
|
||||
"bootup_time",
|
||||
fun (s) -> begin log("vars.bootup_time") time := s s end)
|
||||
|
@ -159,11 +162,10 @@ server.register(namespace="dynamic_source",
|
|||
# fun (s) -> begin log("dynamic_source.read_stop") destroy_dynamic_source_all() end)
|
||||
|
||||
default = amplify(id="silence_src", 0.00001, noise())
|
||||
ref_off_air_meta = ref off_air_meta
|
||||
if !ref_off_air_meta == "" then
|
||||
ref_off_air_meta := "LibreTime - offline"
|
||||
if !off_air_meta == "" then
|
||||
off_air_meta := "LibreTime - offline"
|
||||
end
|
||||
default = rewrite_metadata([("title", !ref_off_air_meta)], default)
|
||||
default = rewrite_metadata([("title", !off_air_meta)], default)
|
||||
ignore(output.dummy(default, fallible=true))
|
||||
|
||||
master_dj_enabled = ref false
|
||||
|
|
|
@ -106,6 +106,9 @@ server.register(namespace="vars",
|
|||
server.register(namespace="vars",
|
||||
"station_name",
|
||||
fun (s) -> begin log("vars.station_name") station_name := s s end)
|
||||
server.register(namespace="vars",
|
||||
"off_air_meta",
|
||||
fun (s) -> begin log("vars.off_air_meta") off_air_meta := s s end)
|
||||
server.register(namespace="vars",
|
||||
"bootup_time",
|
||||
fun (s) -> begin log("vars.bootup_time") time := s s end)
|
||||
|
@ -159,12 +162,11 @@ server.register(namespace="dynamic_source",
|
|||
# fun (s) -> begin log("dynamic_source.read_stop") destroy_dynamic_source_all() end)
|
||||
|
||||
default = amplify(id="silence_src", 0.00001, noise())
|
||||
ref_off_air_meta = ref off_air_meta
|
||||
if !ref_off_air_meta == "" then
|
||||
ref_off_air_meta := "LibreTime - offline"
|
||||
if !off_air_meta == "" then
|
||||
off_air_meta := "LibreTime - offline"
|
||||
end
|
||||
def map_off_air_meta(m) =
|
||||
[("title", !ref_off_air_meta)]
|
||||
[("title", !off_air_meta)]
|
||||
end
|
||||
default = map_metadata(map_off_air_meta, default)
|
||||
ignore(output.dummy(default, fallible=true))
|
||||
|
|
|
@ -120,6 +120,7 @@ class LiquidsoapClient:
|
|||
*,
|
||||
station_name: Optional[str] = None,
|
||||
message_format: Optional[int] = None,
|
||||
message_offline: Optional[str] = None,
|
||||
input_fade_transition: Optional[float] = None,
|
||||
):
|
||||
with self.conn:
|
||||
|
@ -127,6 +128,8 @@ class LiquidsoapClient:
|
|||
self._set_var("station_name", station_name)
|
||||
if message_format is not None:
|
||||
self._set_var("stream_metadata_type", message_format)
|
||||
if message_offline is not None:
|
||||
self._set_var("off_air_meta", message_offline)
|
||||
if input_fade_transition is not None:
|
||||
self._set_var("default_dj_fade", input_fade_transition)
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ set("harbor.bind_addr", "0.0.0.0")
|
|||
|
||||
station_name = ref "{{ info.station_name }}"
|
||||
|
||||
off_air_meta = "{{ preferences.message_offline }}"
|
||||
off_air_meta = ref "{{ preferences.message_offline }}"
|
||||
stream_metadata_type = ref {{ preferences.message_format.value }}
|
||||
default_dj_fade = ref {{ preferences.input_fade_transition }}
|
||||
|
||||
|
|
|
@ -86,6 +86,9 @@ class PypoMessageHandler(Thread):
|
|||
elif command == "update_stream_format":
|
||||
logger.info("Updating stream format...")
|
||||
self.pypo_queue.put(message)
|
||||
elif command == "update_message_offline":
|
||||
logger.info("Updating message offline...")
|
||||
self.pypo_queue.put(message)
|
||||
elif command == "update_station_name":
|
||||
logger.info("Updating station name...")
|
||||
self.pypo_queue.put(message)
|
||||
|
|
|
@ -92,6 +92,9 @@ class PypoFetch(Thread):
|
|||
elif command == "update_stream_format":
|
||||
logger.info("Updating stream format...")
|
||||
self.update_liquidsoap_stream_format(m["stream_format"])
|
||||
elif command == "update_message_offline":
|
||||
logger.info("Updating message offline...")
|
||||
self.update_liquidsoap_message_offline(m["message_offline"])
|
||||
elif command == "update_station_name":
|
||||
logger.info("Updating station name...")
|
||||
self.update_liquidsoap_station_name(m["station_name"])
|
||||
|
@ -207,6 +210,13 @@ class PypoFetch(Thread):
|
|||
except (ConnectionError, TimeoutError) as exception:
|
||||
logger.exception(exception)
|
||||
|
||||
@ls_timeout
|
||||
def update_liquidsoap_message_offline(self, message_offline: str):
|
||||
try:
|
||||
self.liq_client.settings_update(message_offline=message_offline)
|
||||
except (ConnectionError, TimeoutError) as exception:
|
||||
logger.exception(exception)
|
||||
|
||||
@ls_timeout
|
||||
def update_liquidsoap_transition_fade(self, fade):
|
||||
try:
|
||||
|
|
|
@ -98,7 +98,7 @@ set("harbor.bind_addr", "0.0.0.0")
|
|||
|
||||
station_name = ref "LibreTime"
|
||||
|
||||
off_air_meta = "LibreTime - offline"
|
||||
off_air_meta = ref "LibreTime - offline"
|
||||
stream_metadata_type = ref 0
|
||||
default_dj_fade = ref 0.0
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ set("harbor.bind_addrs", ["0.0.0.0"])
|
|||
|
||||
station_name = ref "LibreTime"
|
||||
|
||||
off_air_meta = "LibreTime - offline"
|
||||
off_air_meta = ref "LibreTime - offline"
|
||||
stream_metadata_type = ref 0
|
||||
default_dj_fade = ref 0.0
|
||||
|
||||
|
|
Loading…
Reference in New Issue