Explorar el Código

extend: FX3 events ...

micha hace 3 meses
padre
commit
d72e106316
Se han modificado 3 ficheros con 73 adiciones y 39 borrados
  1. 8 2
      lib/meta.py
  2. 52 35
      lib/tkevent.py
  3. 13 2
      tkgui/FX3.py

+ 8 - 2
lib/meta.py

@@ -287,7 +287,11 @@ def Optionbuffer_create_ATTR(attr_grp="",val=""):
     options = ["none1","none2"]
     if attr_grp in ATTR_GRP:
         options = ATTR_GRP[attr_grp]
-    return OptionBuffer(val,options)
+    options.append(" ")
+    ob = OptionBuffer(val,options)
+    ob.set_init(" ")
+    ob.reset()
+    return ob
 
 fx_func_grp = Optionbuffer_create_ATTR_GRP()
 fx_func_attr = Optionbuffer_create_ATTR("POS")
@@ -355,7 +359,9 @@ for i,f in fx3_grid_cfg.items():
 fx3.labels.extend([" "," "," "," "," ","\n"])
 fx3.labels.extend(["\n"])
 fx3.labels.extend([" ","PLAY","STOP","OFF"," ","\n"])
-fx3.labels.extend(["  ","CIRCL","PAN","TILT","FLAY","\n"])
+fx3.labels.extend(["SPEED:","SLOW","MID","FAST","TURBO","\n"])
+fx3.labels.extend(["SIZE:","MINI","SMALL","NORMAL","BIG","\n"])
+fx3.labels.extend(["  ","CIRCLE","PAN","TILT","FLAY","\n"])
 fx3.labels.extend([" ","RED","GREEN","BLUE","MAGENTA","\n"])
 
 fx_cfg = Elem_Container()

+ 52 - 35
lib/tkevent.py

@@ -498,6 +498,57 @@ class tk_event_fx():
 
 
 
+    def command_fx3(self,event,mode=""):
+        prm = []
+        ct  = ""
+        print(" --", self.attr)
+        fx3_grid = MAIN.meta.fx3_grid # OptionBuffer()
+        if self.attr not in fx3_grid:
+            fx_data = {}
+            if self.attr == "PLAY":
+                for k,v in fx3_grid.items():
+                    vv = v.val()
+                    k_name , k_nr = k.split(":")
+                    if k_nr not in fx_data:
+                        fx_data[k_nr] = {}
+                    fx_data[k_nr][k_name] = vv
+                    #print("**",k,vv,v)
+                    
+                for k,v in fx_data.items():
+                    print("HH",k,v)
+            print()
+            return
+        fx_func = MAIN.meta.OptionBuffer()
+
+        if self.attr.startswith("ATTR:"):
+            col = self.attr.split(":")[1]
+            fx_func1 = fx3_grid["GRP:"+str(col)]
+            GRP = fx_func1.val()
+            if GRP != self.ATTR_GRP:
+                self.ATTR_GRP = GRP
+                fx_func1.val(GRP)
+                fx3_grid[self.attr] = MAIN.meta.Optionbuffer_create_ATTR(GRP)
+            fx_func = fx3_grid[self.attr] 
+            fx_func.data["wrap"] = 1
+        else: 
+            fx_func = fx3_grid[self.attr]
+            fx_func.data["wrap"] = 1
+
+        print("func",fx_func,fx_func.val())
+
+        if event.num == 3:
+            fx_func.reset()
+        elif event.num == 4:
+            fx_func.inc()
+        elif event.num == 5:
+            fx_func.dec()
+        v=fx_func.val()
+        #print(v)
+        #print(self.elem)
+        self.elem["text"] = v
+        return
+
+
     def command(self,event,mode=""):       
         cprint("tkevent.tk_event_fx.command")
         cprint(" ",self.mode)
@@ -510,41 +561,7 @@ class tk_event_fx():
             prm = MAIN.meta.fx_prm_move
             ct = MAIN.meta.fx_moves 
         if self.mode == "FX-3":
-            prm = [] #MAIN.meta.fx_prm
-            ct  = "" #MAIN.meta.fx_cfg
-            cprint("--",self,"FX-3",color="red")
-            print(" --", self.attr)
-            fx3_grid = MAIN.meta.fx3_grid # OptionBuffer()
-            if self.attr not in fx3_grid:
-                return
-
-            fx3_buf = fx3_grid[self.attr]
-            col = self.attr.split(":")[1]
-            print(fx3_buf)
-
-            if self.attr.startswith("ATTR:"):
-                fx_func1 = MAIN.meta.fx3_grid["GRP:"+str(col)]
-                GRP = fx_func1.val()
-                if GRP != self.ATTR_GRP:
-                    self.ATTR_GRP = GRP
-                    fx_func1.val(GRP)
-                    MAIN.meta.fx3_grid[self.attr] = MAIN.meta.Optionbuffer_create_ATTR(GRP)
-                fx_func = MAIN.meta.fx3_grid[self.attr] 
-                fx_func.data["wrap"] = 1
-                fx_func.inc()
-                v=fx_func.val()
-                print(v)
-                print(self.elem)
-                self.elem["text"] = v
-            else: #if self.attr.startswith("TYPE:"):
-                fx_func = MAIN.meta.fx3_grid[self.attr]
-                fx_func.data["wrap"] = 1
-                fx_func.inc()
-                v=fx_func.val()
-                print(v)
-                print(self.elem)
-                self.elem["text"] = v
-            return
+            return self.command_fx3(event,mode=mode)
 
         if 1:
             cprint("---", self.attr,"!!",prm ,color="red")

+ 13 - 2
tkgui/FX3.py

@@ -65,6 +65,11 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
 
         ct.elem[comm] = b
         ct.val[comm] = 0
+        def XXX(event=None,**data):
+            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])
         b.bind("<Button>",tkevent.tk_event_fx(fix=0,elem=b,attr=comm,data=gui,mode=mode).cb)
 
         if comm == "xREC-FX":
@@ -75,6 +80,10 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
             b["text"] = comm
             b["bg"] = "#ffbf00"
 
+        if comm == "PLAY": 
+            b["bg"] = "orange"
+            b.config(activebackground="#dd0")
+
         if comm in MAIN.meta.fx3_grid:
             fx_func = MAIN.meta.fx3_grid[comm]
             fx_func.data["wrap"] = 1
@@ -85,6 +94,7 @@ def _draw_fx3(frame,c,r,gui,mode="FX"):
             if comm.startswith("TYPE:"): 
                 b["bg"] = "orange"
                 b.config(activebackground="#dd0")
+
             for a in ["SPEED:","SIZE:","START:","OFFSET:"]:
                 if comm.startswith(a): 
                     b["bg"] = "lightgreen"
@@ -181,7 +191,7 @@ class MANAGER(): # DUMMY
     def __init__(self,*arg,**args):
         print(self,"__init__",arg,args)
 
-    def _go(self,nr,*arg,**args): #val=None,xfade=None,event=None,button="",ptfade=None):
+    def send(self,nr,*arg,**args): #val=None,xfade=None,event=None,button="",ptfade=None):
         if _global_key_lock:
             return
 
@@ -190,6 +200,7 @@ class MANAGER(): # DUMMY
         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)
 
@@ -266,7 +277,7 @@ win_title="FX3"
 store = movewin.load_all_sdl(win_title)
 print(store)
 W=380
-H=500
+H=550
 POS=[800,200]
 if store:
     W = store[-4]