瀏覽代碼

bugfix: bugfix "_" break's fx-off ...

micha 2 年之前
父節點
當前提交
2b77d0a4e9
共有 1 個文件被更改,包括 18 次插入6 次删除
  1. 18 6
      _LibreLightDesk.py

+ 18 - 6
_LibreLightDesk.py

@@ -388,13 +388,25 @@ def jclient_send(data):
             try:
                 dmx = int(jdata["DMX"])
                 if int(dmx) >= 1: # ignore DMX lower one
-                    if "FIX" in jdata and "ATTR" in jdata:    
-                        fix = jdata["FIX"]
-                        attr = jdata["ATTR"]
-                        # find dmx-fine channel
-                        jdata["DMX-FINE"] = FIXTURES.get_dmx(fix,attr+"-FINE")
-                    if "ATTR" in jdata and not jdata["ATTR"].startswith("_"):
+
+                    if "ATTR" not in jdata:
+                        # for fx off
                         jdatas.append(jdata)
+
+                    else: # with "ATTR"
+                        if "FIX" in jdata:    
+                            fix = jdata["FIX"]
+                            attr = jdata["ATTR"]
+                            # find dmx-fine channel
+                            jdata["DMX-FINE"] = FIXTURES.get_dmx(fix,attr+"-FINE")
+
+                        if jdata["ATTR"].startswith("_"):
+                            # ignore attr "_" 
+                            # bug with "S" attr._ACTIVE breaks preset_go
+                            pass 
+                        else:
+                            jdatas.append(jdata)
+
                 else:
                     cprint("jclient_send, ignore DMX ",color="red")
                     cprint("-- ",jdata,color="red")