Browse Source

insert dbg/info in FX3

micha 1 month ago
parent
commit
a72ce71f3e
4 changed files with 73 additions and 10 deletions
  1. 28 0
      lib/manager.py
  2. 23 4
      lib/meta.py
  3. 3 2
      tkgui/EXEC-BTN.py
  4. 19 4
      tkgui/FX3.py

+ 28 - 0
lib/manager.py

@@ -0,0 +1,28 @@
+
+
+import json
+import lib.zchat as chat
+from lib.cprint import cprint
+cmd_client = chat.Client(port=30003)
+import __main__ as MAIN
+
+#_global_short_key = 1
+
+class MANAGER(): # DUMMY
+    def __init__(self,*arg,**args):
+        print(self,"__init__",arg,args)
+        #self.refresh_fix = Refresher()
+        #self.commands = Command()
+    def refresh_fix(self,*arg,**args):# = Refresher()
+        print(self,"refresh_fix",arg,args)
+    def exec_go(self,nr,*arg,**args): #val=None,xfade=None,event=None,button="",ptfade=None):
+        if MAIN._global_key_lock:
+            return
+        #def exec_go(nr,xfade=None,val=0):
+        print(self,"MANAGER",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")
+        cprint("SEND MANAGER.EXEC_GO:",msg,color="green")
+        cmd_client.send(msg)

+ 23 - 4
lib/meta.py

@@ -241,23 +241,31 @@ def OptionBuffer_dec(data):
     data["idx"] -= 1
     OptionBuffer_check(data)
 
-def OptionBuffer_val(data):
+def OptionBuffer_val(data,val=None):
     ValueBuffer_clean(data)
     OptionBuffer_check(data)
+    #val = "RGB"
+    if val in data["options"]:
+        print("set",val)
+        idx = data["options"].index(val)
+        data["idx"] = idx
     idx= data["idx"]
     return data["options"][idx]
 
 class OptionBuffer():# wrap function to object
     def __init__(self,val="",options=[]):
         self.data = OptionBuffer_create_data(val="",options=options)
+        #self._rep = self.__repr__()
     def reset(self):
         return OptionBuffer_reset(self.data)
     def inc(self):
         return OptionBuffer_inc(self.data)
+    def __repr__(self):
+        return "<lib.meta.OptionBuffer {} '{}'>".format(id(self),self.val())
     def dec(self):
         return OptionBuffer_dec(self.data)
-    def val(self,val=""):
-        return OptionBuffer_val(self.data)
+    def val(self,val=None):
+        return OptionBuffer_val(self.data,val=val)
     def set_init(self,val):
         return OptionBuffer_set_init(self.data,val)
 
@@ -272,7 +280,7 @@ ATTR_GRP = {}
 ATTR_GRP["POS"] = ["PAN","TILT"]
 ATTR_GRP["RGB"] = ["RED","GREEN","BLUE","AMBER","WHITE"]
 #ATTR_GRP["CMY"] = ["CYAN","MAGENTA","YELLOW"]
-ATTR_GRP["BEAM"] = ["FOCUS","ZOOM","IRIS"] # GOBO1
+ATTR_GRP["BEAM"] = ["DIM","FOCUS","ZOOM","IRIS"] # GOBO1
 
 def Optionbuffer_create_ATTR_GRP(val=""):
     options = list(ATTR_GRP.keys())
@@ -358,6 +366,15 @@ for i,f in fx3_grid_cfg.items():
     x.append("\n")
     print(":",x)
     fx3.labels.extend(x)
+
+#print("__ "*22)
+#fx3_grid["GRP:1"].val("RGB")
+#print([fx3_grid["GRP:1"].val()])
+#print("_ _ "*22)
+#fx3_grid["ATTR:1"].val("PAN")
+#print([fx3_grid["ATTR:1"].val()])
+#print("__ "*22)
+
 fx3.labels.extend([" "," "," "," "," ","\n"])
 fx3.labels.extend(["\n"])
 fx3.labels.extend([" ","PLAY","STOP","OFF"," ","\n"])
@@ -382,3 +399,5 @@ commands.labels =["\n","ESC","CFG-BTN","LABEL","-","DEL","-","\n"
         ,"SELECT","FLASH","GO","-","MOVE","S-KEY","\n"
         ,"BLIND","CLEAR","REC","EDIT","COPY",".","\n" 
         ]
+
+

+ 3 - 2
tkgui/EXEC-BTN.py

@@ -209,7 +209,7 @@ class Command():
     def __init__(self):
         self.elem = {}
 
-class MANAGER(): # DUMMY
+class MANAGER_X(): # DUMMY
     def __init__(self,*arg,**args):
         print(self,"__init__",arg,args)
         #self.refresh_fix = Refresher()
@@ -247,8 +247,9 @@ class Modes(): # DUMMY
         #print("Modes.val",arg,args)
         pass
 
+import lib.manager as manager
+master = manager.MANAGER() #{}
 #manager = MANAGER() #{}
-master = MANAGER() #{}
 modes = Modes()
 
 import tkinter as tk

+ 19 - 4
tkgui/FX3.py

@@ -69,7 +69,7 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
             print("XXX",event,data)
 
         #b.bind("<Button>",XXX) #tkevent.tk_event_fx(fix=0,elem=b,attr=comm,data=gui,mode=mode).cb)
-        print(":",[comm])
+        #print(":",[comm])
         b.bind("<Button>",tkevent.tk_event_fx(fix=0,elem=b,attr=comm,data=gui,mode=mode).cb)
 
         if comm == "xREC-FX":
@@ -89,7 +89,7 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
             fx_func.data["wrap"] = 1
             #fx_func.inc()
             v=fx_func.val()
-            print(fx_func,v)
+            print("3>",[comm,fx_func,v])
             b["text"] = v
             if comm.startswith("TYPE:"): 
                 b["bg"] = "orange"
@@ -187,7 +187,7 @@ except:
 
 
 
-class MANAGER(): # DUMMY
+class MANAGER_X(): # DUMMY
     def __init__(self,*arg,**args):
         print(self,"__init__",arg,args)
 
@@ -204,6 +204,8 @@ class MANAGER(): # DUMMY
         cprint("SEND MASTER._GO:",msg,color="green")
         cmd_client.send(msg)
 
+import lib.manager as manager
+master = manager.MANAGER() #{}
 
 
 class Modes(): # DUMMY
@@ -267,7 +269,7 @@ class Gui(): # DUMMY
 
 
 #manager = MANAGER() 
-master = MANAGER() 
+#master = MANAGER() 
 modes = Modes()
 gui  = Gui()
  
@@ -372,6 +374,19 @@ def _refr_loop2():
                         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 
+
+            MAIN.meta.fx3_grid["GRP:1"].val("RGB")
+            print([0,MAIN.meta.fx3_grid["GRP:1"].data])
+            print("_ _ "*22)
+            MAIN.meta.fx3_grid["ATTR:1"].val("PAN")
+            MAIN.meta.fx3_grid["TYPE:1"].val("COS")
+            print([1,MAIN.meta.fx3_grid["ATTR:1"].data]) #.val()])
+              
         except Exception as e:
             print("  ER7R mc...",e)
             time.sleep(3)