Browse Source

add tempates circle/rgb/speed/size

micha 1 month ago
parent
commit
38c595b0c1
2 changed files with 156 additions and 31 deletions
  1. 1 1
      lib/tkevent.py
  2. 155 30
      tkgui/FX3.py

+ 1 - 1
lib/tkevent.py

@@ -507,7 +507,7 @@ class tk_event_fx():
             fx_data = {}
             if self.attr == "CIRCLE":
                 for k,v in fx3_grid.items():
-                    if k.startwith("ATTR"):
+                    if k.startswith("ATTR"):
                         print(self.attr,k,v)
             if self.attr == "PLAY":
                 for k,v in fx3_grid.items():

+ 155 - 30
tkgui/FX3.py

@@ -44,17 +44,20 @@ def _add_space(frame,r,c):
     c=0
     return r,c
 
-#MAIN.meta.fx3_grid["ATTR:1"].val("PAN")
-#MAIN.meta.fx3_grid["TYPE:1"].val("COS")
 def basic():
     for i in range(4):
 
         k = "GRP:1" #.format(i+1)
         MAIN.meta.fx3_grid[k].val("POS")
         k = "ATTR:1" #.format(i+1)
-        MAIN.meta.fx3_grid[k].val("PAN")
+        MAIN.meta.fx3_grid[k].val("-")
         k = "ATTR:2" #.format(i+1)
-        MAIN.meta.fx3_grid[k].val("TILT")
+        MAIN.meta.fx3_grid[k].val("-")
+        k = "ATTR:3" #.format(i+1)
+        MAIN.meta.fx3_grid[k].val("-")
+        k = "ATTR:4" #.format(i+1)
+        MAIN.meta.fx3_grid[k].val("-")
+
 
 
         k = "SIZE:{}".format(i+1)
@@ -100,49 +103,138 @@ def basic():
         MAIN.meta.fx3_grid[k].val(1)
         MAIN.meta.fx3_grid[k].data["init_value"] = 1
         MAIN.meta.fx3_grid[k].data["max"] = 1
+basic()
 
 def circle():
-    basic()
+    #basic()
 
     k = "GRP:1" #.format(i+1)
     MAIN.meta.fx3_grid[k].val("POS")
+    k = "GRP:2" #.format(i+1)
+    MAIN.meta.fx3_grid[k].val("POS")
+
     k = "ATTR:1" #.format(i+1)
     MAIN.meta.fx3_grid[k].val("PAN")
     k = "ATTR:2" #.format(i+1)
     MAIN.meta.fx3_grid[k].val("TILT")
+    k = "ATTR:3" #.format(i+1)
+    MAIN.meta.fx3_grid[k].val(" ")
+
+    k = "TYPE:1" 
+    MAIN.meta.fx3_grid[k].val("SIN")
+    k = "TYPE:2" 
+    MAIN.meta.fx3_grid[k].val("COS")
+
+
+def size(val=255):
+    for i in range(4):
+        k = "SIZE:{}".format(i+1)
+        print("  ",k,val)
+        MAIN.meta.fx3_grid[k].val(val)
+    __refresh_fx3(_filter="SIZE")
+
+def speed(val=255):
+    for i in range(4):
+        k = "SPEED:{}".format(i+1)
+        print("  ",k,val)
+        MAIN.meta.fx3_grid[k].val(val)
+    __refresh_fx3(_filter="SPEED")
+
+def rgb():
+    #basic()
+    k = "GRP:1" 
+    MAIN.meta.fx3_grid[k].val("RGB")
+    k = "GRP:2" 
+    MAIN.meta.fx3_grid[k].val("RGB")
+    k = "GRP:3" 
+    MAIN.meta.fx3_grid[k].val("RGB")
+
+    k = "ATTR:1"
+    MAIN.meta.fx3_grid[k].val("RED")
+    k = "ATTR:2"
+    MAIN.meta.fx3_grid[k].val("GREEN")
+    k = "ATTR:3" 
+    MAIN.meta.fx3_grid[k].val("BLUE")
+
+    k = "TYPE:1" 
+    MAIN.meta.fx3_grid[k].val("FD")
+    k = "TYPE:2" 
+    MAIN.meta.fx3_grid[k].val("STATIC")
+    k = "TYPE:3" 
+    MAIN.meta.fx3_grid[k].val("STATIC")
+    __refresh_fx3()
+
+def clear():
+    basic()
+    k = "GRP:1" 
+    MAIN.meta.fx3_grid[k].val(" ")
+    k = "GRP:2" 
+    MAIN.meta.fx3_grid[k].val(" ")
+    k = "GRP:3" 
+    MAIN.meta.fx3_grid[k].val(" ")
+
+    k = "ATTR:1"
+    MAIN.meta.fx3_grid[k].val(" ")
+    k = "ATTR:2"
+    MAIN.meta.fx3_grid[k].val(" ")
+    k = "ATTR:3" 
+    MAIN.meta.fx3_grid[k].val(" ")
+
+    k = "TYPE:1" 
+    MAIN.meta.fx3_grid[k].val(" ")
+    k = "TYPE:2" 
+    MAIN.meta.fx3_grid[k].val(" ")
+    k = "TYPE:3" 
+    MAIN.meta.fx3_grid[k].val(" ")
+
 
 circle()
 
-def _refresh_fx3(): #frame,c,r,gui,mode="FX"):
+def _refresh_fx3x(): #frame,c,r,gui,mode="FX"):
+    time.sleep(5)
     while 1:
-        ct  = MAIN.meta.fx3 #moves
-        prm = MAIN.meta.fx3_prm
-        #MAIN.meta.fx3_grid["ATTR:1"].val("PAN")
-        #print("_-| "*22)
-        #MAIN.meta.fx3_grid["ATTR:1"].val("PAN")
-        #MAIN.meta.fx3_grid["TYPE:1"].val("COS")
-        for comm in ct.labels:
-            #comm = comm.strip()
-            if comm not in ct.elem:
+        print("Ö " *22)
+        circle()
+        time.sleep(3)
+        rgb()
+        time.sleep(3)
+        clear()
+        time.sleep(3)
+        print("Ö " *22)
+        break
+
+def __refresh_fx3(_filter=""):
+    ct  = MAIN.meta.fx3 #moves
+    prm = MAIN.meta.fx3_prm
+    for comm in ct.labels:
+        if comm not in ct.elem:
+            continue
+
+        b = ct.elem[comm]
+        if comm in MAIN.meta.fx3_grid:
+            if _filter and _filter != comm:
                 continue
-            b = ct.elem[comm]
-            if comm in MAIN.meta.fx3_grid:
-                v2 = MAIN.meta.fx3_grid[comm].val()
-                v1 = b["text"]
-                if "ATTR" in comm:
-                    print([comm,v1,v2])
 
-                if str(v2) != str(v1):
-                    print([comm,b,v1,v2])
-                    b["text"] = str(v2)
+            v2 = MAIN.meta.fx3_grid[comm].val()
+            v1 = b["text"]
+            if "ATTR" in comm or "GRP" in comm:
+                print([comm,v1,v2,b])
+            if str(v2) != str(v1):
+                print(" change")
+                #print([comm,b,v1,v2])
+                b["text"] = str(v2)
 
-        time.sleep(4)
+def _refresh_fx3(): #frame,c,r,gui,mode="FX"):
+    while 1:
+        __refresh_fx3()
+        time.sleep(2)
 
 def _draw_fx3(frame,c,r,gui,mode="FX"):
     ct  = MAIN.meta.fx3 #moves
     prm = MAIN.meta.fx3_prm
 
     for comm in ct.labels:
+        print(" draw3",comm)
         if comm == "\n\n":
             b = tk.Label(frame,bg="black", text="-",font=space_font)
             b.grid(row=r, column=c,pady=0,padx=0, sticky=tk.W+tk.E)
@@ -159,12 +251,42 @@ 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)
+        def _XXX(xcb,xcomm,xb):
+            def XXX(event=None,**data):
+                print("BTN:",xb["text"],xcomm)
+                print("xXx "*22)
+                print("XXX",event,data)
+                if xcomm == "CIRCLE":
+                    circle()
+                elif xcomm == "RED":
+                    rgb()
+                elif xcomm == "MINI":
+                    size(10)
+                elif xcomm == "SMALL":
+                    size(25)
+                elif xcomm == "NORMAL":
+                    size(50)
+                elif xcomm == "BIG":
+                    size(100)
+                elif xcomm == "SLOW":
+                    speed(5)
+                elif xcomm == "MID":
+                    speed(25)
+                elif xcomm == "FAST":
+                    speed(100)
+                elif xcomm == "TURBO":
+                    speed(200)
+
+                xcb(event) #,data)
+            return XXX
+
+        _cb = tkevent.tk_event_fx(fix=0,elem=b,attr=comm,data=gui,mode=mode).cb
+        _comm = comm
+        _b = b
+        XXX = _XXX(_cb,_comm,_b)
+        b.bind("<Button>",XXX) 
+        #b.bind("<Button>",tkevent.tk_event_fx(fix=0,elem=b,attr=comm,data=gui,mode=mode).cb)
 
         if comm == "xREC-FX":
             b["bg"] = "grey"
@@ -211,7 +333,9 @@ def _draw_fx(frame,c,r,gui,mode="FX"):
         ct  = MAIN.meta.fx_main
         prm = MAIN.meta.fx_prm_main
 
+    print("-- draw")
     for comm in ct.labels:
+        print(" draw",comm)
         if comm == "\n\n":
             b = tk.Label(frame,bg="black", text="-",font=space_font)
             b.grid(row=r, column=c,pady=0,padx=0, sticky=tk.W+tk.E)
@@ -484,5 +608,6 @@ thread.start_new_thread(_refr_loop,())
 thread.start_new_thread(_refr_loop2,())
 
 thread.start_new_thread(_refresh_fx3,())
+#thread.start_new_thread(_refresh_fx3x,())
 
 root.mainloop()