jsbc.py 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/usr/bin/python3
  2. def JSCB(x,sock=None):
  3. i = ""
  4. msg = ""
  5. msgs = []
  6. try:
  7. #print("JSCB",sock)
  8. for i in x:
  9. #print("i",[i])
  10. msgs = json.loads(i)
  11. print(" JSCB",msgs) #,sock)
  12. if type(msgs) is not list:
  13. continue
  14. for msg in msgs:
  15. print(" ",msg)
  16. # FIXTURES.encoder
  17. if "event" not in msg:
  18. continue
  19. if "FIXTURES" == msg["event"]:
  20. FIX=0
  21. VAL=""
  22. ATTR=""
  23. if "FIX" in msg:
  24. FIX=msg["FIX"]
  25. if "VAL" in msg:
  26. VAL=msg["VAL"]
  27. if "ATTR" in msg:
  28. ATTR=msg["ATTR"]
  29. print(" Xevent",FIX,VAL,ATTR)
  30. #cb = Xevent(fix=FIX,elem=None,attr=ATTR,mode="ENCODER",data=[]) #data)
  31. #FIXTURES.encoder(str(FIX),ATTR,xval="click",xfade=0,xdelay=0)#,blind=0)
  32. FIXTURES.encoder(str(FIX),ATTR,xval=VAL,xfade=0,xdelay=0)#,blind=0)
  33. #print(dir(cb))
  34. #event = DEVENT()
  35. #event.num = enum
  36. #master.refresh_fix() # delayed
  37. #refresher_fix.reset() # = Refresher()
  38. #cb.cb(event)
  39. if "CLEAR" == msg["event"]:
  40. FIXTURES.clear()
  41. if "EXEC" == msg["event"]:
  42. print(" EXEC EXEC")
  43. val = -1
  44. exec_nr = -1
  45. try:
  46. if "VAL" in msg:
  47. val = int(msg["VAL"])
  48. if "EXEC" in msg:
  49. exec_nr = int(msg["EXEC"])
  50. if val >= 0 and exec_nr > 0:
  51. print("PRESET_GOOO",exec_nr,val)
  52. s = time.time()
  53. master.preset_go(exec_nr-1,xfade=None,val=val)
  54. e = time.time()
  55. #print("time:",e-s,e)
  56. #print("TIME:",int((e-s)*1000),int(e*10)-1_703_800_000)
  57. #print("TIME:",int((e-s)*1000),int(e*10)/10)
  58. print("EXE TIME:","{:0.02f}".format(e-s),int(e*100)/100)
  59. print()
  60. except Exception as e:
  61. print("EXEC ERR:",e)
  62. except Exception as e:
  63. cprint("exception JSCB:",e)
  64. cprint("- i:",i)
  65. cprint("- msg:",msgs)
  66. cprint(traceback.format_exc(),color="red")
  67. if sock:
  68. msg = ["Notice: Exception on JSCB-SERVER: ",str(e)]
  69. msg = json.dumps(msg)
  70. msg = bytes(msg,"utf8")
  71. chat._send(sock,msg)
  72. #time.sleep(1/60)