|
@@ -3,6 +3,7 @@
|
|
|
import time
|
|
|
import traceback
|
|
|
import json
|
|
|
+import _thread as thread
|
|
|
|
|
|
import __main__ as MAIN
|
|
|
from lib.cprint import *
|
|
@@ -22,63 +23,51 @@ def JSCB(x,sock=None):
|
|
|
#print(" JSCB",msgs) #,sock)
|
|
|
if type(msgs) is not list:
|
|
|
continue
|
|
|
-
|
|
|
+
|
|
|
for msg in msgs:
|
|
|
OK = 0
|
|
|
- #print(" msg",msg)
|
|
|
+ EXEC_REFRESH = 0
|
|
|
+ val = -1
|
|
|
+ exec_nr = -1
|
|
|
+ fix_nr = -1
|
|
|
+ attr = ""
|
|
|
if "event" not in msg:
|
|
|
continue
|
|
|
+ if "EXEC" in msg:
|
|
|
+ try:
|
|
|
+ exec_nr = int(msg["EXEC"])
|
|
|
+ except:
|
|
|
+ exec_nr = -2
|
|
|
+ if "VAL" in msg:
|
|
|
+ val = msg["VAL"]
|
|
|
+
|
|
|
+ if "FIX" in msg:
|
|
|
+ fix_nr=msg["FIX"]
|
|
|
+ if "ATTR" in msg:
|
|
|
+ attr=msg["ATTR"]
|
|
|
|
|
|
- if "FIXTURES" == msg["event"]:
|
|
|
- FIX=0
|
|
|
- VAL=""
|
|
|
- ATTR=""
|
|
|
- if "FIX" in msg:
|
|
|
- FIX=msg["FIX"]
|
|
|
- if "VAL" in msg:
|
|
|
- VAL=msg["VAL"]
|
|
|
- if "ATTR" in msg:
|
|
|
- ATTR=msg["ATTR"]
|
|
|
- print(" MAIN.tk_event",FIX,VAL,ATTR)
|
|
|
- #cb = MAIN.tk_event(fix=FIX,elem=None,attr=ATTR,mode="ENCODER",data=[]) #data)
|
|
|
- fixlib.encoder(MAIN.FIXTURES.fixtures,str(FIX),ATTR,xval=VAL,xfade=0,xdelay=0)#,blind=0)
|
|
|
-
|
|
|
- #print(dir(cb))
|
|
|
- #event.num = enum
|
|
|
+ print(" MAIN.tk_event","fix:",fix_nr,"exec_nr:",exec_nr,"val:",val,"attr",attr)
|
|
|
|
|
|
- #cb.cb(event)
|
|
|
+ if "FIXTURES" == msg["event"]:
|
|
|
+ fixlib.encoder(MAIN.FIXTURES.fixtures,str(fix_nr),attr,xval=val,xfade=0,xdelay=0)#,blind=0)
|
|
|
OK = 1
|
|
|
- if "CLEAR" == msg["event"]:
|
|
|
- #MAIN.FIXTURES.clear()
|
|
|
+ elif "CLEAR" == msg["event"]:
|
|
|
fixlib.clear(MAIN.FIXTURES.fixtures)
|
|
|
- MAIN.modes.val("REC",0)
|
|
|
- #MAIN.master.xcb("CLEAR",1)
|
|
|
- OK = 1
|
|
|
- elif "REC" == msg["event"]:
|
|
|
- MAIN.modes.val("REC",1)
|
|
|
- OK = 1
|
|
|
- elif "EDIT" == msg["event"]:
|
|
|
- MAIN.modes.val("EDIT",1)
|
|
|
- OK = 1
|
|
|
- elif "BLIND" == msg["event"]:
|
|
|
- MAIN.modes.val("BLIND",1)
|
|
|
- OK = 1
|
|
|
- elif "FLASH" == msg["event"]:
|
|
|
- MAIN.modes.val("FLASH",1)
|
|
|
OK = 1
|
|
|
- elif "CFG-BTN" == msg["event"]:
|
|
|
- MAIN.modes.val("CFG-BTN",1)
|
|
|
- OK = 1
|
|
|
- elif "LABEL" == msg["event"]:
|
|
|
- MAIN.modes.val("LABEL",1)
|
|
|
+ elif "ESC" == msg["event"]:
|
|
|
+ fixlib.clear(MAIN.FIXTURES.fixtures)
|
|
|
+ MAIN.modes.clear() # FIX
|
|
|
+ MAIN.master.button_clear() # REC,CFG-BTN ...
|
|
|
OK = 1
|
|
|
- elif "REC" == msg["event"]:
|
|
|
- MAIN.modes.val("REC",1)
|
|
|
+ elif msg["event"] in ["REC","REC-FX","EDIT","BLIND","FLASH","CFG-BTN","LABEL","MOVE","GO","SELECT","DEL","COPY"]:
|
|
|
+ if msg["event"] in ["REC-FX"]:
|
|
|
+ MAIN.modes.clear(protect=["REC-FX","REC",msg["event"]]) # FIX
|
|
|
+ MAIN.master.button_clear() # REC,CFG-BTN ...
|
|
|
+ MAIN.modes.val(msg["event"],1)
|
|
|
OK = 1
|
|
|
elif "FX-OFF" == msg["event"]:
|
|
|
- #MAIN.modes.val("FX-OFF",1)
|
|
|
- MAIN.CONSOLE.fx_off("all") #"FX-OFF",1)
|
|
|
- #OK = 1
|
|
|
+ MAIN.CONSOLE.fx_off("all")
|
|
|
+ OK = 1
|
|
|
elif "SAVE\nSHOW" == msg["event"]:
|
|
|
MAIN.save_show()
|
|
|
OK = 1
|
|
@@ -86,54 +75,52 @@ def JSCB(x,sock=None):
|
|
|
print("OK OK")
|
|
|
MAIN.LOAD_SHOW_AND_RESTART("").cb(force=1)
|
|
|
OK = 1
|
|
|
- elif "REC-FX" == msg["event"]:
|
|
|
- MAIN.modes.val("REC-FX",1)
|
|
|
- OK = 1
|
|
|
- elif "REC-EXEC" == msg["event"]:
|
|
|
- print(" JSCB.REC-EXEC")
|
|
|
- val = -1
|
|
|
- exec_nr = -1
|
|
|
- try:
|
|
|
- if "VAL" in msg:
|
|
|
- val = int(msg["VAL"])
|
|
|
- if "EXEC" in msg:
|
|
|
- exec_nr = int(msg["EXEC"])
|
|
|
-
|
|
|
- if val >= 1 and exec_nr > 0: # VAL >=1 !!!
|
|
|
- print(" EXEC_GOOO",exec_nr)
|
|
|
- s = time.time()
|
|
|
- MAIN.master.exec_rec(exec_nr-1)
|
|
|
- e = time.time()
|
|
|
- print("EXE TIME:","{:0.02f}".format(e-s),int(e*100)/100)
|
|
|
- print()
|
|
|
- OK = 1
|
|
|
- except Exception as e:
|
|
|
- print("REC-EXEC ERR:",[e])
|
|
|
- raise e
|
|
|
elif "EXEC" == msg["event"]:
|
|
|
- print(" JSCB.EXEC")
|
|
|
- val = -1
|
|
|
- exec_nr = -1
|
|
|
+ print(" JSCB:",msg["event"])
|
|
|
try:
|
|
|
- if "VAL" in msg:
|
|
|
- val = int(msg["VAL"])
|
|
|
- if "EXEC" in msg:
|
|
|
- exec_nr = int(msg["EXEC"])
|
|
|
- if val >= 0 and exec_nr > 0:
|
|
|
- print("EXEC_GOOO",exec_nr,val)
|
|
|
- s = time.time()
|
|
|
- MAIN.master.exec_go(exec_nr-1,xfade=None,val=val)
|
|
|
- e = time.time()
|
|
|
- print("EXE TIME:","{:0.02f}".format(e-s),int(e*100)/100)
|
|
|
- print()
|
|
|
- OK = 1
|
|
|
+ if exec_nr > 0:
|
|
|
+ if val >= 1: # only Press
|
|
|
+ pass
|
|
|
+ if MAIN.modes.val("REC"):
|
|
|
+ MAIN.master.exec_rec(exec_nr-1)
|
|
|
+ msg["OK"] = "REC"
|
|
|
+ EXEC_REFRESH = 1
|
|
|
+ OK = 1
|
|
|
+ elif MAIN.modes.val("COPY"):
|
|
|
+ MAIN.EXEC.copy(exec_nr-1)
|
|
|
+ msg["OK"] = "COPY"
|
|
|
+ if MAIN.modes.val("COPY") > 2:
|
|
|
+ MAIN.modes.val("COPY",0)
|
|
|
+ EXEC_REFRESH = 1
|
|
|
+ OK = 1
|
|
|
+ elif MAIN.modes.val("MOVE"):
|
|
|
+ MAIN.EXEC.move(exec_nr-1)
|
|
|
+ msg["OK"] = "MOVE"
|
|
|
+ EXEC_REFRESH = 1
|
|
|
+ OK = 1
|
|
|
+ elif MAIN.modes.val("DEL"):
|
|
|
+ MAIN.EXEC.delete(exec_nr-1)
|
|
|
+ MAIN.modes.val("DEL",0)
|
|
|
+ msg["OK"] = "DEL"
|
|
|
+ EXEC_REFRESH = 1
|
|
|
+ OK = 1
|
|
|
+
|
|
|
+ if not OK:
|
|
|
+ if val >= 0: #Press/Release
|
|
|
+ MAIN.master.exec_go(exec_nr-1,xfade=None,val=val)
|
|
|
+ OK = 1
|
|
|
+ EXEC_REFRESH = 1
|
|
|
+
|
|
|
except Exception as e:
|
|
|
print("EXEC ERR:",e)
|
|
|
+
|
|
|
|
|
|
if OK:
|
|
|
cprint(" remote-key:",msg ,color="green")
|
|
|
- if "REC-EXEC" in msg["event"]:
|
|
|
- MAIN.execlib.exec_set_mc(MAIN.EXEC.label_exec,MAIN.EXEC.val_exec)
|
|
|
+ if EXEC_REFRESH:
|
|
|
+ def xx():
|
|
|
+ MAIN.execlib.exec_set_mc(MAIN.EXEC.label_exec,MAIN.EXEC.val_exec)
|
|
|
+ thread.start_new_thread(xx,())
|
|
|
else:
|
|
|
cprint(" remote-key:",msg ,color="red")
|
|
|
except Exception as e:
|