|
@@ -258,30 +258,18 @@ class tk_event_fx():
|
|
|
print(" --", self.attr)
|
|
|
fx3_grid = MAIN.meta.fx3_grid # OptionBuffer()
|
|
|
if self.attr == "START":
|
|
|
-
|
|
|
grid_data1 = get_fx3_grid()
|
|
|
-
|
|
|
- out = []
|
|
|
- FIX=3001
|
|
|
-
|
|
|
grid_data2 = reshape_grid_to_jdata(grid_data1)
|
|
|
- #log(grid_data2,name="0:")
|
|
|
-
|
|
|
programmer=get_programmer()
|
|
|
- #log(programmer,name="A:")
|
|
|
-
|
|
|
grid_data3 = merge_grid_and_programmer(programmer,grid_data2)
|
|
|
- #log(grid_data3,name="B:")
|
|
|
|
|
|
calculate_offset(grid_data3)
|
|
|
correct_base(grid_data3)
|
|
|
+ update_dmx_adresses(grid_data3)
|
|
|
|
|
|
- out = update_dmx_adresses(grid_data3)
|
|
|
- #log(out,name="C:")
|
|
|
-
|
|
|
- msg=json.dumps(out).encode("utf-8")
|
|
|
+ msg=json.dumps(grid_data3).encode("utf-8")
|
|
|
cprint("SEND FX3:",color="green")
|
|
|
- for i in out:
|
|
|
+ for i in grid_data3:
|
|
|
cprint(" ", i,color="green")
|
|
|
#cmd_client.send(msg)
|
|
|
jsend(msg)
|
|
@@ -348,15 +336,26 @@ class tk_event_fx():
|
|
|
return self.command_fx3(event,mode=mode)
|
|
|
|
|
|
def cb(self,event):
|
|
|
- cprint("tkevent.EVENT_fx.cb:",self.attr,self.mode,event,color='yellow')
|
|
|
- cprint(["type",event.type,"num",event.num])
|
|
|
+ cprint("tkevent.EVENT_fx.cb:",[self.attr,self.mode,event],color='yellow')
|
|
|
+ cprint(" ",["type",event.type,"num",event.num])
|
|
|
try:
|
|
|
change = 0
|
|
|
|
|
|
- if self.mode.startswith("FX"):
|
|
|
+ if self.attr == "REC-FX":
|
|
|
+ msg=json.dumps([{"event":"REC-FX","VALUE":255,"DATA":{}}]).encode("utf-8")
|
|
|
+ global modes
|
|
|
+ if "REC-FX" in modes:
|
|
|
+ msg=json.dumps([{"event":"REC-FX","VALUE":0,"DATA":{}}]).encode("utf-8")
|
|
|
+
|
|
|
+ cmd_client.send(msg) # diable LABEL mode
|
|
|
+ elif self.attr == "FX OFF":
|
|
|
+ msg=json.dumps([{"event":"FX-OFF","VALUE":255,"DATA":{}}]).encode("utf-8")
|
|
|
+ cmd_client.send(msg) # diable LABEL mode
|
|
|
+ elif self.mode.startswith("FX"):
|
|
|
self.command(event)
|
|
|
return 0
|
|
|
|
|
|
+
|
|
|
except Exception as e:
|
|
|
cprint("== cb EXCEPT",e,color="red")
|
|
|
cprint("Error on line {}".format(sys.exc_info()[-1].tb_lineno),color="red")
|
|
@@ -380,6 +379,12 @@ def motion(code="circle"):
|
|
|
k = "GRP:4" #.format(i+1)
|
|
|
MAIN.meta.fx3_grid[k].val(" ")
|
|
|
MAIN.meta.change_grp(name=k,val=" ")
|
|
|
+ k = "GRP:5" #.format(i+1)
|
|
|
+ MAIN.meta.fx3_grid[k].val(" ")
|
|
|
+ MAIN.meta.change_grp(name=k,val=" ")
|
|
|
+ k = "GRP:6" #.format(i+1)
|
|
|
+ MAIN.meta.fx3_grid[k].val(" ")
|
|
|
+ MAIN.meta.change_grp(name=k,val=" ")
|
|
|
|
|
|
|
|
|
k = "ATTR:1" #.format(i+1)
|
|
@@ -390,6 +395,10 @@ def motion(code="circle"):
|
|
|
MAIN.meta.fx3_grid[k].val(" ")
|
|
|
k = "ATTR:4" #.format(i+1)
|
|
|
MAIN.meta.fx3_grid[k].val(" ")
|
|
|
+ k = "ATTR:5" #.format(i+1)
|
|
|
+ MAIN.meta.fx3_grid[k].val(" ")
|
|
|
+ k = "ATTR:6" #.format(i+1)
|
|
|
+ MAIN.meta.fx3_grid[k].val(" ")
|
|
|
|
|
|
k = "TYPE:1"
|
|
|
MAIN.meta.fx3_grid[k].val("sinus")
|
|
@@ -448,6 +457,26 @@ def motion(code="circle"):
|
|
|
k = "WIDTH:3"
|
|
|
MAIN.meta.fx3_grid[k].val(50)
|
|
|
|
|
|
+ if code == "street":
|
|
|
+ k = "SIZE:1"
|
|
|
+ MAIN.meta.fx3_grid[k].val(100)
|
|
|
+ k = "SIZE:2"
|
|
|
+ MAIN.meta.fx3_grid[k].val(0)
|
|
|
+ k = "SIZE:3"
|
|
|
+ MAIN.meta.fx3_grid[k].val(100)
|
|
|
+
|
|
|
+ k = "TYPE:3"
|
|
|
+ MAIN.meta.fx3_grid[k].val("ramp")
|
|
|
+
|
|
|
+ k = "GRP:3"
|
|
|
+ MAIN.meta.fx3_grid[k].val("BEAM")
|
|
|
+ MAIN.meta.change_grp(name=k,val="BEAM")
|
|
|
+ k = "ATTR:3"
|
|
|
+ MAIN.meta.fx3_grid[k].val("DIM")
|
|
|
+
|
|
|
+ k = "WIDTH:3"
|
|
|
+ MAIN.meta.fx3_grid[k].val(50)
|
|
|
+
|
|
|
|
|
|
def size(val=255):
|
|
|
for i in range(4):
|
|
@@ -456,7 +485,7 @@ def size(val=255):
|
|
|
print(" ",k,val)
|
|
|
if MAIN.meta.fx3_grid[kt].val() not in ["STATIC","-"]:
|
|
|
MAIN.meta.fx3_grid[k].val(val)
|
|
|
- __refresh_fx3(_filter="SIZE")
|
|
|
+ refresh_fx3_elem(_filter="SIZE")
|
|
|
|
|
|
def speed(val=255):
|
|
|
for i in range(4):
|
|
@@ -465,11 +494,11 @@ def speed(val=255):
|
|
|
print(" ",k,val)
|
|
|
if MAIN.meta.fx3_grid[kt].val() not in ["STATIC","-"]:
|
|
|
MAIN.meta.fx3_grid[k].val(val)
|
|
|
- __refresh_fx3(_filter="SPEED")
|
|
|
+ refresh_fx3_elem(_filter="SPEED")
|
|
|
|
|
|
def dim(code="dim"):
|
|
|
|
|
|
- for i in range(1,4+1):
|
|
|
+ for i in range(1,5+1):
|
|
|
k = "GRP:" +str(i)
|
|
|
MAIN.meta.change_grp(name=k,val="BEAM")
|
|
|
MAIN.meta.fx3_grid[k].val("BEAM")
|
|
@@ -497,10 +526,14 @@ def dim(code="dim"):
|
|
|
|
|
|
def rgb(code="red"):
|
|
|
#basic()
|
|
|
- for i in range(1,4+1):
|
|
|
+
|
|
|
+ for i in range(1,5+1):
|
|
|
k = "GRP:" +str(i)
|
|
|
MAIN.meta.change_grp(name=k,val="RGB")
|
|
|
MAIN.meta.fx3_grid[k].val("RGB")
|
|
|
+ k = "GRP:6"
|
|
|
+ MAIN.meta.change_grp(name=k,val=" ")
|
|
|
+ MAIN.meta.fx3_grid[k].val(" ")
|
|
|
|
|
|
k = "ATTR:1"
|
|
|
MAIN.meta.fx3_grid[k].val("RED")
|
|
@@ -510,8 +543,12 @@ def rgb(code="red"):
|
|
|
MAIN.meta.fx3_grid[k].val("BLUE")
|
|
|
k = "ATTR:4"
|
|
|
MAIN.meta.fx3_grid[k].val("WHITE")
|
|
|
+ k = "ATTR:5"
|
|
|
+ MAIN.meta.fx3_grid[k].val("AMBER")
|
|
|
+ k = "ATTR:6"
|
|
|
+ MAIN.meta.fx3_grid[k].val(" ")
|
|
|
|
|
|
- for i in range(1,4+1):
|
|
|
+ for i in range(1,5+1):
|
|
|
k = "TYPE:"+str(i)
|
|
|
MAIN.meta.fx3_grid[k].val("static")
|
|
|
k = "WIDTH:"+str(i)
|
|
@@ -545,13 +582,31 @@ def rgb(code="red"):
|
|
|
MAIN.meta.fx3_grid[k].val(255)
|
|
|
k = "SIZE:3"
|
|
|
MAIN.meta.fx3_grid[k].val(255)
|
|
|
+ if code == "cyan":
|
|
|
+ k = "TYPE:2"
|
|
|
+ MAIN.meta.fx3_grid[k].val("fade")
|
|
|
+ k = "TYPE:3"
|
|
|
+ MAIN.meta.fx3_grid[k].val("fade")
|
|
|
+ k = "SIZE:2"
|
|
|
+ MAIN.meta.fx3_grid[k].val(255)
|
|
|
+ k = "SIZE:3"
|
|
|
+ MAIN.meta.fx3_grid[k].val(255)
|
|
|
+ if code == "yellow":
|
|
|
+ k = "TYPE:1"
|
|
|
+ MAIN.meta.fx3_grid[k].val("fade")
|
|
|
+ k = "TYPE:2"
|
|
|
+ MAIN.meta.fx3_grid[k].val("fade")
|
|
|
+ k = "SIZE:1"
|
|
|
+ MAIN.meta.fx3_grid[k].val(255)
|
|
|
+ k = "SIZE:2"
|
|
|
+ MAIN.meta.fx3_grid[k].val(255)
|
|
|
|
|
|
- __refresh_fx3()
|
|
|
+ refresh_fx3_elem()
|
|
|
|
|
|
def clear():
|
|
|
basic()
|
|
|
|
|
|
- for i in range(1,4+1):
|
|
|
+ for i in range(1,5+1):
|
|
|
k = "GRP:"+str(i)
|
|
|
MAIN.meta.fx3_grid[k].val(" ")
|
|
|
k = "ATTR:"+str(i)
|
|
@@ -562,20 +617,8 @@ def clear():
|
|
|
|
|
|
motion("circle")
|
|
|
|
|
|
-def _refresh_fx3x(): #frame,c,r,gui,mode="FX"):
|
|
|
- time.sleep(5)
|
|
|
- while 1:
|
|
|
- print("Ö " *22)
|
|
|
- motion("circle")
|
|
|
- time.sleep(3)
|
|
|
- rgb()
|
|
|
- time.sleep(3)
|
|
|
- clear()
|
|
|
- time.sleep(3)
|
|
|
- print("Ö " *22)
|
|
|
- break
|
|
|
|
|
|
-def __refresh_fx3(_filter=""):
|
|
|
+def refresh_fx3_elem(_filter=""):
|
|
|
ct = MAIN.meta.fx3 #moves
|
|
|
prm = MAIN.meta.fx3_prm
|
|
|
for comm in ct.labels:
|
|
@@ -587,26 +630,17 @@ def __refresh_fx3(_filter=""):
|
|
|
if _filter and _filter != comm:
|
|
|
continue
|
|
|
|
|
|
- #MAIN.meta.fx3_grid[comm].val("X")
|
|
|
v2 = MAIN.meta.fx3_grid[comm].val()
|
|
|
v1 = b["text"]
|
|
|
- #if "ATTR" in comm or "GRP" in comm:
|
|
|
- # print([comm,v1,v2,b])
|
|
|
- if "ATTR" in comm:
|
|
|
- pass #MAIN.meta.fx3_grid[comm].val("PAN")
|
|
|
- #print(MAIN.meta.fx3_grid[comm].data)
|
|
|
v2 = MAIN.meta.fx3_grid[comm].val()
|
|
|
v1 = b["text"]
|
|
|
- if "ATTR" in comm or "GRP" in comm:
|
|
|
- pass #print("A",[comm,v1,v2,b])
|
|
|
if str(v2) != str(v1):
|
|
|
print(" change")
|
|
|
- #print([comm,b,v1,v2])
|
|
|
b["text"] = str(v2)
|
|
|
|
|
|
-def _refresh_fx3(): #frame,c,r,gui,mode="FX"):
|
|
|
+def refresh_fx3_loop():
|
|
|
while 1:
|
|
|
- __refresh_fx3()
|
|
|
+ refresh_fx3_elem()
|
|
|
time.sleep(2)
|
|
|
|
|
|
def _draw_fx3(frame,c,r,gui,mode="FX"):
|
|
@@ -645,6 +679,8 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
|
|
|
motion("tilt")
|
|
|
elif xcomm == "FLAY":
|
|
|
motion("flay")
|
|
|
+ elif xcomm == "STREET":
|
|
|
+ motion("street")
|
|
|
elif xcomm == "DIM":
|
|
|
dim(code="dim")
|
|
|
elif xcomm == "RED":
|
|
@@ -653,8 +689,12 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
|
|
|
rgb("green")
|
|
|
elif xcomm == "BLUE":
|
|
|
rgb("blue")
|
|
|
+ elif xcomm == "CYAN":
|
|
|
+ rgb("cyan")
|
|
|
elif xcomm == "MAGENTA":
|
|
|
rgb("magenta")
|
|
|
+ elif xcomm == "YELLOW":
|
|
|
+ rgb("yellow")
|
|
|
elif xcomm == "MINI":
|
|
|
size(25)
|
|
|
elif xcomm == "SMALL":
|
|
@@ -690,7 +730,7 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
|
|
|
b["text"] = comm
|
|
|
b["bg"] = "#ffbf00"
|
|
|
|
|
|
- if comm in ["SHUFFLE:","WING:","BASE:","START:","STOP","OFF"]: # not implemented !
|
|
|
+ if comm in ["SHUFFLE:","WING:","BASE:","INVERT:","DIR:","START:","STOP","OFF"]: # not implemented !
|
|
|
b["fg"] = "#aaa"
|
|
|
b.config(activebackground="#aaa")
|
|
|
#b.config(activebackground="#bbb")
|
|
@@ -726,14 +766,15 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
|
|
|
if comm:
|
|
|
b.grid(row=r, column=c, sticky=tk.W+tk.E)
|
|
|
c+=1
|
|
|
- if c >=6:
|
|
|
+ if c >=7:
|
|
|
c=0
|
|
|
r+=1
|
|
|
c=0
|
|
|
r+=1
|
|
|
return c,r
|
|
|
|
|
|
-def _draw_fx(frame,c,r,gui,mode="FX"):
|
|
|
+fx_rec_btn = None
|
|
|
+def _draw_fx_head(frame,c,r,gui,mode="FX"):
|
|
|
ct = None
|
|
|
prm = None
|
|
|
if mode=="FX-MAIN":
|
|
@@ -764,6 +805,8 @@ def _draw_fx(frame,c,r,gui,mode="FX"):
|
|
|
|
|
|
if comm == "REC-FX":
|
|
|
b["bg"] = "grey"
|
|
|
+ global fx_rec_btn
|
|
|
+ fx_rec_btn = b
|
|
|
elif comm == "FX OFF":
|
|
|
b["bg"] = "magenta"
|
|
|
|
|
@@ -792,10 +835,11 @@ def draw_fx3(gui,xframe):
|
|
|
c+=1
|
|
|
|
|
|
_add_space(frame,r,c)
|
|
|
- c,r = _draw_fx(frame,c,r,gui,mode="FX-MAIN")
|
|
|
+ c,r = _draw_fx_head(frame,c,r,gui,mode="FX-MAIN")
|
|
|
|
|
|
r,c=_add_space(frame,r,c)
|
|
|
c,r = _draw_fx3(frame,c,r,gui,mode="FX-3")
|
|
|
+ r,c=_add_space(frame,r,c)
|
|
|
|
|
|
|
|
|
|
|
@@ -807,43 +851,10 @@ cmd_client = chat.Client(port=30003)
|
|
|
try:
|
|
|
import memcache
|
|
|
mc = memcache.Client(['127.0.0.1:11211'], debug=0)
|
|
|
- #data = mc.get("MODES")
|
|
|
except:
|
|
|
mc = None
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-class MANAGER_X(): # DUMMY
|
|
|
- def __init__(self,*arg,**args):
|
|
|
- print(self,"__init__",arg,args)
|
|
|
-
|
|
|
- def send(self,nr,*arg,**args): #val=None,xfade=None,event=None,button="",ptfade=None):
|
|
|
- if _global_key_lock:
|
|
|
- return
|
|
|
-
|
|
|
- print(self,"MASTER",nr,arg,args)
|
|
|
- btn_nr = nr
|
|
|
- v = args["val"]
|
|
|
-
|
|
|
- msg=json.dumps([{"event":"EXEC","EXEC":btn_nr+1,"VAL":v,"NR-KEY":btn_nr}]).encode("utf-8")
|
|
|
- msg=json.dumps([{"event":"XXX","YYY":1,"VAL":12}]).encode("utf-8")
|
|
|
- cprint("SEND MASTER._GO:",msg,color="green")
|
|
|
- cmd_client.send(msg)
|
|
|
-
|
|
|
-import lib.manager as manager
|
|
|
-master = manager.MANAGER() #{}
|
|
|
-
|
|
|
-
|
|
|
-class Modes(): # DUMMY
|
|
|
- def __init__(self,*arg,**args):
|
|
|
- print("Modes.__init__",arg,args)
|
|
|
- self.modes = {}
|
|
|
- def val(self,*arg,**args):
|
|
|
- #print("Modes.val",arg,args)
|
|
|
- pass
|
|
|
-
|
|
|
-
|
|
|
-class Gui(): # DUMMY
|
|
|
+class GUI(): # DUMMY
|
|
|
def __init__(self):
|
|
|
self.elem_exec = []
|
|
|
self.elem_meta = [None]*512
|
|
@@ -861,7 +872,7 @@ class Gui(): # DUMMY
|
|
|
print(" ER1R mc...",e)
|
|
|
return data
|
|
|
|
|
|
- def _refresh_data(self,*arg,**args):
|
|
|
+ def _refresh_meta_data(self,*arg,**args):
|
|
|
start = time.time()
|
|
|
|
|
|
METAS = []
|
|
@@ -874,7 +885,18 @@ class Gui(): # DUMMY
|
|
|
for nr,b in enumerate( self.elem_exec): #[nr]
|
|
|
self._refresh_data_single(nr,b,METAS)
|
|
|
|
|
|
- print(__file__.split("/")[-1], "_refresh_data:",int((time.time()-start)*10)/10 )
|
|
|
+ print(__file__.split("/")[-1], "_refresh_meta_data:",int((time.time()-start)*10)/10 )
|
|
|
+
|
|
|
+ def refresh_meta_loop(self):
|
|
|
+ time.sleep(3)
|
|
|
+ while 1:
|
|
|
+ try:
|
|
|
+ self._refresh_meta_data()
|
|
|
+ time.sleep(3)
|
|
|
+ except Exception as e:
|
|
|
+ print(" ER5R refr_loop()...",e)
|
|
|
+ time.sleep(3)
|
|
|
+ time.sleep(0.1)
|
|
|
|
|
|
def _refresh_data_single(self,nr,b,METAS=None):
|
|
|
start = time.time()
|
|
@@ -894,10 +916,7 @@ class Gui(): # DUMMY
|
|
|
METAS = self.METAS
|
|
|
|
|
|
|
|
|
-#manager = MANAGER()
|
|
|
-#master = MANAGER()
|
|
|
-modes = Modes()
|
|
|
-gui = Gui()
|
|
|
+gui = GUI()
|
|
|
|
|
|
root = tk.Tk()
|
|
|
root.maxsize(600,800)
|
|
@@ -977,22 +996,15 @@ def get_programmer():
|
|
|
ok=0
|
|
|
for kk,vv in v["ATTRIBUT"].items():
|
|
|
if kk.startswith("_"):
|
|
|
- #print(":",k,v,kk,vv)
|
|
|
continue
|
|
|
if vv["ACTIVE"]:
|
|
|
- #print(":",k,v,kk,vv)
|
|
|
- #print(k,v,v["NAME"],kk,vv)
|
|
|
tmp={"ID":k,"NAME":v["NAME"],"ATTR":kk,"NR":vv["NR"]} #,"FX3":vv["FX2"]}
|
|
|
- print("get_programmer:",tmp)
|
|
|
out.append(tmp)
|
|
|
ok=1
|
|
|
if ok:
|
|
|
print()
|
|
|
return out
|
|
|
|
|
|
-#import memcache
|
|
|
-#import json
|
|
|
-#mc = memcache.Client(['127.0.0.1:11211'], debug=0)
|
|
|
def get_patch():
|
|
|
if mc is None:
|
|
|
return
|
|
@@ -1000,7 +1012,6 @@ def get_patch():
|
|
|
index=json.loads(index)
|
|
|
out = []
|
|
|
for v in index:
|
|
|
- #print()
|
|
|
patch=mc.get("PATCH-"+str(v)) #index")#cmd)
|
|
|
patch=json.loads(patch)
|
|
|
u = patch["UNIVERS"] #* 512
|
|
@@ -1010,7 +1021,6 @@ def get_patch():
|
|
|
nr =patch["ATTRIBUT"][a]["NR"]
|
|
|
if nr <= 0:
|
|
|
continue
|
|
|
- #print(v,u,d,nr,a)
|
|
|
if a == "END":
|
|
|
continue
|
|
|
if a.startswith("_"):
|
|
@@ -1019,53 +1029,47 @@ def get_patch():
|
|
|
attr[a] = nr-1
|
|
|
tmp = {"FIX":v,"UNI":u,"DMX":d,"NR":nr,"ATTR":attr}
|
|
|
out.append(tmp )
|
|
|
- #print("get_patch",tmp)
|
|
|
|
|
|
return out
|
|
|
|
|
|
|
|
|
|
|
|
-def _refr_loop():
|
|
|
- time.sleep(3)
|
|
|
- while 1:
|
|
|
- try:
|
|
|
- gui._refresh_data()
|
|
|
- time.sleep(3)
|
|
|
- except Exception as e:
|
|
|
- print(" ER5R refr_loop()...",e)
|
|
|
- time.sleep(3)
|
|
|
- time.sleep(0.1)
|
|
|
-
|
|
|
-def _refr_loop2():
|
|
|
+modes = {}
|
|
|
+def modes_refresh_loop():
|
|
|
time.sleep(3)
|
|
|
while 1:
|
|
|
try:
|
|
|
- global root,title
|
|
|
+ global root,title,modes
|
|
|
data = mc.get("MODES")
|
|
|
title2 = title +" "+str(data)
|
|
|
data = json.loads(data)
|
|
|
- #print("MODES",data)
|
|
|
- modes.modes = data
|
|
|
+ modes = data
|
|
|
|
|
|
if root:
|
|
|
root.title(title2)
|
|
|
+
|
|
|
+ if "REC-FX" in data:
|
|
|
+ #print("xxxxxxxx REC-FX")
|
|
|
+ fx_rec_btn["bg"] = "red"
|
|
|
+ fx_rec_btn.config(activebackground="red")
|
|
|
+ else:
|
|
|
+ fx_rec_btn["bg"] = "#ddd"
|
|
|
+ fx_rec_btn.config(activebackground="#ddd")
|
|
|
+
|
|
|
if "S-KEY" in data:
|
|
|
_global_short_key = 0
|
|
|
if data["S-KEY"]:
|
|
|
_global_short_key = 1
|
|
|
|
|
|
for k in data:
|
|
|
- #print("title",k)
|
|
|
for kk in ["RESTART","PRO","EASY","EXIT"]:
|
|
|
if kk in str(k):
|
|
|
print("RESTART !!! EXIT !!")
|
|
|
time.sleep(0.1)
|
|
|
root.quit()
|
|
|
- #sys.exit()
|
|
|
|
|
|
fx3_line = {}
|
|
|
for comm,v in MAIN.meta.fx3_grid.items():
|
|
|
- #print(":",comm,v.val())
|
|
|
if comm.startswith("ATTR:"):
|
|
|
fx3_line[comm] = 1
|
|
|
|
|
@@ -1075,10 +1079,8 @@ def _refr_loop2():
|
|
|
time.sleep(3)
|
|
|
time.sleep(0.1)
|
|
|
|
|
|
-thread.start_new_thread(_refr_loop,())
|
|
|
-thread.start_new_thread(_refr_loop2,())
|
|
|
-
|
|
|
-thread.start_new_thread(_refresh_fx3,())
|
|
|
-#thread.start_new_thread(_refresh_fx3x,())
|
|
|
+thread.start_new_thread(gui.refresh_meta_loop,())
|
|
|
+thread.start_new_thread(modes_refresh_loop,())
|
|
|
+thread.start_new_thread(refresh_fx3_loop,())
|
|
|
|
|
|
root.mainloop()
|