From d53de7f5b7728ccafde5a31ea6c583347441094b Mon Sep 17 00:00:00 2001
From: David Trattnig <david@subsquare.at>
Date: Thu, 21 Jul 2022 01:01:15 +0200
Subject: [PATCH] Feat: Server function to get outputs engine#107

---
 src/serverfunctions.liq | 41 +++++++++++++++++++++++++++++------------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/src/serverfunctions.liq b/src/serverfunctions.liq
index 2a3154b..113cbb0 100644
--- a/src/serverfunctions.liq
+++ b/src/serverfunctions.liq
@@ -22,18 +22,6 @@
 #
 
 
-# Get connection state of outgoing streams #TODO refactor
-server.register(namespace="aura_engine",
-    description="Returns if outgoing streams are connected",
-    usage="out_streams_connected",
-    "out_streams_connected",
-    fun (s) -> begin
-        ignore(s)
-        log("executing: aura_engine.out_streams_connected")
-        "0:#{!s0_connected}, 1:#{!s1_connected}, 2:#{!s2_connected}, 3:#{!s3_connected}, 4:#{!s4_connected}"
-    end
-)
-
 # Get state of the inputs/outputs as JSON
 server.register(namespace = "aura_engine",
     description="Returns enabled line-in, line-out and connected outgoing streams",
@@ -129,6 +117,35 @@ server.register(namespace="aura_engine",
 # Namespace: mixer
 #
 
+# Get connection state of outgoing streams #TODO refactor
+server.register(namespace="mixer",
+    description="Returns all active outputs",
+    usage="outputs",
+    "outputs",
+    fun (s) -> begin
+        ignore(s)
+        log("executing: mixer.outputs")
+
+        so = []
+        so = s0_enable ? list.add(("out_line_0", ("connected", "#{!s0_connected")), so) : so
+        so = s1_enable ? list.add(("out_line_1", ("connected", "#{!s1_connected")), so) : so
+        so = s2_enable ? list.add(("out_line_2", ("connected", "#{!s2_connected")), so) : so
+        so = s3_enable ? list.add(("out_line_3", ("connected", "#{!s3_connected")), so) : so
+        so = s4_enable ? list.add(("out_line_4", ("connected", "#{!s4_connected")), so) : so
+
+        lo = []
+        lo = a0_out != '' ? list.add("out_line_0", lo) : lo
+        lo = a1_out != '' ? list.add("out_line_1", lo) : lo
+        lo = a2_out != '' ? list.add("out_line_2", lo) : lo
+        lo = a3_out != '' ? list.add("out_line_3", lo) : lo
+        lo = a4_out != '' ? list.add("out_line_4", lo) : lo
+
+        json_data = json()
+        json_data.add("line", lo)
+        json_data.add("stream", so)
+        json.stringify(json_data)
+    end
+)
 
 # Activate a source by selecting it and setting the volume to 100 (or vice versa)
 server.register(namespace = "mixer",
-- 
GitLab