|
@@ -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):
|