浏览代码

fix: FX3 color default and add DIM

micha 1 天之前
父节点
当前提交
3620e6f40f
共有 3 个文件被更改,包括 112 次插入102 次删除
  1. 1 1
      _LibreLightDesk.py
  2. 1 1
      lib/meta.py
  3. 110 100
      tkgui/FX3.py

+ 1 - 1
_LibreLightDesk.py

@@ -394,7 +394,7 @@ class MC_PATCH():
                 
                 index_patch = []
                 for fix,val in FIXTURES.fixtures.items():
-                    print("FIX",fix,val)
+                    #print("FIX",fix,val)
                     val = json.dumps(val).encode() 
                     self.mc.set("PATCH-"+str(fix),val)
                     index_patch.append(fix)

+ 1 - 1
lib/meta.py

@@ -401,7 +401,7 @@ def change_grp(name,val):
 fx3.labels.extend([" "," "," "," "," ","\n"])
 fx3.labels.extend(["\n"])
 fx3.labels.extend([" ","START","STOP","OFF"," ","\n"])
-fx3.labels.extend(["  ","CIRCLE","PAN","TILT","FLAY","\n"])
+fx3.labels.extend(["DIM","CIRCLE","PAN","TILT","FLAY","\n"])
 fx3.labels.extend([" ","RED","GREEN","BLUE","MAGENTA","\n"])
 fx3.labels.extend(["SIZE:","MINI","SMALL","NORMAL","BIG","\n"])
 fx3.labels.extend(["SPEED:","SLOW","MID","FAST","TURBO","\n"])

+ 110 - 100
tkgui/FX3.py

@@ -181,6 +181,19 @@ def extract_fixture_list(grid_data3):
             out[v["FIX"]] += 1
     return out
 
+def correct_base(grid_data3):
+    for k,v in enumerate(grid_data3):
+        print("BASE:",[k,v])
+        if type(v["FX2"]["BASE"]) not in [int,float]:
+            continue
+
+        if v["FX2"]["BASE"] < 0:
+            v["FX2"]["BASE"] = "-"
+        elif v["FX2"]["BASE"] > 0:
+            v["FX2"]["BASE"] = "+"
+        else:
+            v["FX2"]["BASE"] = "0"
+
 def calculate_offset(grid_data3):
     fix = extract_fixture_list(grid_data3)
     offset = {}
@@ -252,18 +265,19 @@ class tk_event_fx():
             FIX=3001
 
             grid_data2 = reshape_grid_to_jdata(grid_data1)
-            log(grid_data2,name="0:")
+            #log(grid_data2,name="0:")
 
             programmer=get_programmer()
-            log(programmer,name="A:")
+            #log(programmer,name="A:")
             
             grid_data3 = merge_grid_and_programmer(programmer,grid_data2)
-            log(grid_data3,name="B:")
+            #log(grid_data3,name="B:")
 
             calculate_offset(grid_data3)
+            correct_base(grid_data3)
 
             out = update_dmx_adresses(grid_data3)
-            log(out,name="C:")
+            #log(out,name="C:")
 
             msg=json.dumps(out).encode("utf-8")
             cprint("SEND FX3:",color="green")
@@ -363,6 +377,10 @@ def motion(code="circle"):
     k = "GRP:3" #.format(i+1)
     MAIN.meta.fx3_grid[k].val(" ")
     MAIN.meta.change_grp(name=k,val=" ")
+    k = "GRP:4" #.format(i+1)
+    MAIN.meta.fx3_grid[k].val(" ")
+    MAIN.meta.change_grp(name=k,val=" ")
+    
     
     k = "ATTR:1" #.format(i+1)
     MAIN.meta.fx3_grid[k].val("PAN")
@@ -370,76 +388,46 @@ def motion(code="circle"):
     MAIN.meta.fx3_grid[k].val("TILT")
     k = "ATTR:3" #.format(i+1)
     MAIN.meta.fx3_grid[k].val(" ")
+    k = "ATTR:4" #.format(i+1)
+    MAIN.meta.fx3_grid[k].val(" ")
+
+    k = "TYPE:1" 
+    MAIN.meta.fx3_grid[k].val("sinus")
+    k = "TYPE:2" 
+    MAIN.meta.fx3_grid[k].val("cosinus")
+
+    k = "WIDTH:1" 
+    MAIN.meta.fx3_grid[k].val(255)
+    k = "WIDTH:2" 
+    MAIN.meta.fx3_grid[k].val(255)
+    
+    k = "BASE:1" 
+    MAIN.meta.fx3_grid[k].val(0)
+    k = "BASE:2" 
+    MAIN.meta.fx3_grid[k].val(0)
 
     if code == "circle":
-        k = "TYPE:1" 
-        MAIN.meta.fx3_grid[k].val("sinus")
-        k = "TYPE:2" 
-        MAIN.meta.fx3_grid[k].val("cosinus")
 
         k = "SIZE:1" 
         MAIN.meta.fx3_grid[k].val(100)
         k = "SIZE:2" 
         MAIN.meta.fx3_grid[k].val(100)
 
-        k = "BASE:1" 
-        MAIN.meta.fx3_grid[k].val(0)
-        k = "BASE:2" 
-        MAIN.meta.fx3_grid[k].val(0)
-
-        k = "WIDTH:1" 
-        MAIN.meta.fx3_grid[k].val(255)
-        k = "WIDTH:2" 
-        MAIN.meta.fx3_grid[k].val(255)
 
     if code == "pan":
-        k = "TYPE:1" 
-        MAIN.meta.fx3_grid[k].val("sinus")
-        k = "TYPE:2" 
-        MAIN.meta.fx3_grid[k].val("cosinus")
-        k = "TYPE:3" 
-        MAIN.meta.fx3_grid[k].val("-")
-        k = "TYPE:4" 
-        MAIN.meta.fx3_grid[k].val("-")
 
         k = "SIZE:1" 
         MAIN.meta.fx3_grid[k].val(100)
         k = "SIZE:2" 
         MAIN.meta.fx3_grid[k].val(0)
 
-        k = "BASE:1" 
-        MAIN.meta.fx3_grid[k].val(0)
-        k = "BASE:2" 
-        MAIN.meta.fx3_grid[k].val(0)
-
-        k = "WIDTH:1" 
-        MAIN.meta.fx3_grid[k].val(255)
-        k = "WIDTH:2" 
-        MAIN.meta.fx3_grid[k].val(255)
     if code == "tilt":
-        k = "TYPE:1" 
-        MAIN.meta.fx3_grid[k].val("sinus")
-        k = "TYPE:2" 
-        MAIN.meta.fx3_grid[k].val("cosinus")
-        k = "TYPE:3" 
-        MAIN.meta.fx3_grid[k].val("-")
-        k = "TYPE:4" 
-        MAIN.meta.fx3_grid[k].val("-")
 
         k = "SIZE:1" 
         MAIN.meta.fx3_grid[k].val(0)
         k = "SIZE:2" 
         MAIN.meta.fx3_grid[k].val(100)
 
-        k = "BASE:1" 
-        MAIN.meta.fx3_grid[k].val(0)
-        k = "BASE:2" 
-        MAIN.meta.fx3_grid[k].val(0)
-
-        k = "WIDTH:1" 
-        MAIN.meta.fx3_grid[k].val(255)
-        k = "WIDTH:2" 
-        MAIN.meta.fx3_grid[k].val(255)
 
 def size(val=255):
     for i in range(4):
@@ -459,17 +447,40 @@ def speed(val=255):
             MAIN.meta.fx3_grid[k].val(val)
     __refresh_fx3(_filter="SPEED")
 
+def dim(code="dim"):
+
+    for i in range(1,4+1):
+        k = "GRP:" +str(i)
+        MAIN.meta.change_grp(name=k,val="BEAM")
+        MAIN.meta.fx3_grid[k].val("BEAM")
+        k = "ATTR:"+str(i) 
+        MAIN.meta.fx3_grid[k].val(" ")
+
+        k = "TYPE:"+str(i) 
+        MAIN.meta.fx3_grid[k].val("static")
+        k = "WIDTH:"+str(i) 
+        MAIN.meta.fx3_grid[k].val(50)
+        k = "BASE:"+str(i) 
+        MAIN.meta.fx3_grid[k].val(-1)
+        k = "SIZE:"+str(i) 
+        MAIN.meta.fx3_grid[k].val(0)
+
+    k = "ATTR:1"
+    MAIN.meta.fx3_grid[k].val("DIM")
+
+
+    if code == "dim":
+        k = "TYPE:1" 
+        MAIN.meta.fx3_grid[k].val("fade")
+        k = "SIZE:1" 
+        MAIN.meta.fx3_grid[k].val(255)
+
 def rgb(code="red"):
     #basic()
-    k = "GRP:1" 
-    MAIN.meta.change_grp(name=k,val="RGB")
-    MAIN.meta.fx3_grid[k].val("RGB")
-    k = "GRP:2" 
-    MAIN.meta.change_grp(name=k,val="RGB")
-    MAIN.meta.fx3_grid[k].val("RGB")
-    k = "GRP:3" 
-    MAIN.meta.change_grp(name=k,val="RGB")
-    MAIN.meta.fx3_grid[k].val("RGB")
+    for i in range(1,4+1):
+        k = "GRP:" +str(i)
+        MAIN.meta.change_grp(name=k,val="RGB")
+        MAIN.meta.fx3_grid[k].val("RGB")
 
     k = "ATTR:1"
     MAIN.meta.fx3_grid[k].val("RED")
@@ -477,63 +488,56 @@ def rgb(code="red"):
     MAIN.meta.fx3_grid[k].val("GREEN")
     k = "ATTR:3" 
     MAIN.meta.fx3_grid[k].val("BLUE")
-
-    k = "TYPE:1" 
-    MAIN.meta.fx3_grid[k].val("STATIC") #"255")
-    k = "TYPE:2" 
-    MAIN.meta.fx3_grid[k].val("STATIC") #255")
-    k = "TYPE:3" 
-    MAIN.meta.fx3_grid[k].val("STATIC") #255")
-    k = "TYPE:4" 
-    MAIN.meta.fx3_grid[k].val("STATIC") #255")
-
-    k = "BASE:1" 
-    MAIN.meta.fx3_grid[k].val(-1)
-    k = "BASE:2" 
-    MAIN.meta.fx3_grid[k].val(-1)
-    k = "BASE:3" 
-    MAIN.meta.fx3_grid[k].val(-1)
+    k = "ATTR:4" 
+    MAIN.meta.fx3_grid[k].val("WHITE")
+
+    for i in range(1,4+1):
+        k = "TYPE:"+str(i) 
+        MAIN.meta.fx3_grid[k].val("static")
+        k = "WIDTH:"+str(i) 
+        MAIN.meta.fx3_grid[k].val(50)
+        k = "BASE:"+str(i) 
+        MAIN.meta.fx3_grid[k].val(-1)
+        k = "SIZE:"+str(i) 
+        MAIN.meta.fx3_grid[k].val(0)
 
     if code == "red":
         k = "TYPE:1" 
         MAIN.meta.fx3_grid[k].val("fade")
+        k = "SIZE:1" 
+        MAIN.meta.fx3_grid[k].val(255)
     if code == "green":
         k = "TYPE:2" 
         MAIN.meta.fx3_grid[k].val("fade")
+        k = "SIZE:2" 
+        MAIN.meta.fx3_grid[k].val(255)
     if code == "blue":
         k = "TYPE:3" 
         MAIN.meta.fx3_grid[k].val("fade")
-    if code == "blue":
-        k = "TYPE:3" 
+        k = "SIZE:3" 
+        MAIN.meta.fx3_grid[k].val(255)
+    if code == "magenta":
+        k = "TYPE:1" 
         MAIN.meta.fx3_grid[k].val("fade")
-    if code == "blue":
         k = "TYPE:3" 
         MAIN.meta.fx3_grid[k].val("fade")
+        k = "SIZE:1" 
+        MAIN.meta.fx3_grid[k].val(255)
+        k = "SIZE:3" 
+        MAIN.meta.fx3_grid[k].val(255)
 
     __refresh_fx3()
 
 def clear():
     basic()
-    k = "GRP:1" 
-    MAIN.meta.fx3_grid[k].val(" ")
-    k = "GRP:2" 
-    MAIN.meta.fx3_grid[k].val(" ")
-    k = "GRP:3" 
-    MAIN.meta.fx3_grid[k].val(" ")
 
-    k = "ATTR:1"
-    MAIN.meta.fx3_grid[k].val(" ")
-    k = "ATTR:2"
-    MAIN.meta.fx3_grid[k].val(" ")
-    k = "ATTR:3" 
-    MAIN.meta.fx3_grid[k].val(" ")
-
-    k = "TYPE:1" 
-    MAIN.meta.fx3_grid[k].val(" ")
-    k = "TYPE:2" 
-    MAIN.meta.fx3_grid[k].val(" ")
-    k = "TYPE:3" 
-    MAIN.meta.fx3_grid[k].val(" ")
+    for i in range(1,4+1):
+        k = "GRP:"+str(i) 
+        MAIN.meta.fx3_grid[k].val(" ")
+        k = "ATTR:"+str(i) 
+        MAIN.meta.fx3_grid[k].val(" ")
+        k = "TYPE:"+str(i) 
+        MAIN.meta.fx3_grid[k].val(" ")
 
 
 motion("circle")
@@ -619,12 +623,16 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
                     motion("pan")
                 elif xcomm == "TILT":
                     motion("tilt")
+                elif xcomm == "DIM":
+                    dim(code="dim")
                 elif xcomm == "RED":
                     rgb("red")
                 elif xcomm == "GREEN":
                     rgb("green")
                 elif xcomm == "BLUE":
                     rgb("blue")
+                elif xcomm == "MAGENTA":
+                    rgb("magenta")
                 elif xcomm == "MINI":
                     size(25)
                 elif xcomm == "SMALL":
@@ -683,8 +691,10 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
             print("3>",[comm,fx_func,v])
             b["text"] = v
             if comm.startswith("TYPE:"): 
-                b["bg"] = "orange"
-                b.config(activebackground="#dd0")
+                #b["bg"] = "orange"
+                #b.config(activebackground="#dd0")
+                b["bg"] = "lightgreen"
+                b.config(activebackground="#0d0")
 
             for a in ["SPEED:","SIZE:","START:","OFFSET:"]:
                 if comm.startswith(a):