瀏覽代碼

add: EXEC-BTN FX

micha 1 年之前
父節點
當前提交
2714f5704a
共有 3 個文件被更改,包括 19 次插入2 次删除
  1. 9 2
      _LibreLightDesk.py
  2. 8 0
      lib/mytklib.py
  3. 2 0
      tkgui/draw.py

+ 9 - 2
_LibreLightDesk.py

@@ -320,6 +320,7 @@ def set_exec_fader_cfg(nr,val,label="",color=""):
             if cfg:
                 exec_wing.fader_elem[nr].attr["bg"] = cfg["bg"]
                 exec_wing.fader_elem[nr].attr["fg"] = cfg["fg"]
+                exec_wing.fader_elem[nr].attr["fx"] = cfg["fx"]
     except Exception as e:
         cprint("- exception:",e)
         print(nr,val,label)
@@ -2431,6 +2432,7 @@ def get_exec_btn_cfg(nr):
     #for k in PRESETS.val_presets: 
     k = nr
     if 1:
+        
         _bg = "grey"
         _ba = "grey"
         _fg = "lightgrey"
@@ -2457,6 +2459,7 @@ def get_exec_btn_cfg(nr):
         
         ifval = 0
         fx_only = 0
+        fx_color = 0
         if k in PRESETS.val_presets and len(PRESETS.val_presets[k]) :
             sdata = PRESETS.val_presets[k]
 
@@ -2477,7 +2480,6 @@ def get_exec_btn_cfg(nr):
 
             if len(sdata) > 1:
                 ifval = 1
-                fx_color = 0
                 val_color = 0
                 for fix in sdata:
                     if fix == "CFG":
@@ -2536,9 +2538,13 @@ def get_exec_btn_cfg(nr):
             _fg = "#00e"
         
         out = {}
+        
+        out["fx"] = fx_color
         out["bg"] = _bg
         out["ba"] = _ba
         out["fg"] = _fg
+        #if fx_color:
+        #    out["fg"] = "red"
         out["text"] = _text
         
         return out
@@ -2731,7 +2737,7 @@ class MASTER():
                 cfg = out
 
             b = self.elem_presets[nr]
-            b.configure(fg=cfg["fg"],bg=cfg["bg"],activebackground=cfg["ba"],text=cfg["text"])
+            b.configure(fg=cfg["fg"],bg=cfg["bg"],activebackground=cfg["ba"],text=cfg["text"],fx=cfg["fx"])
 
 
         time.sleep(0.01)
@@ -4190,6 +4196,7 @@ class Presets():
             self.val_presets[nr]["CFG"] = OrderedDict()
         if "BUTTON" not in self.val_presets[nr]["CFG"]:
             self.val_presets[nr]["CFG"]["BUTTON"] = ""
+
         if type(txt) is str:
             self.val_presets[nr]["CFG"]["BUTTON"] = txt
         if self.val_presets[nr]["CFG"]["BUTTON"] is None:

+ 8 - 0
lib/mytklib.py

@@ -60,6 +60,7 @@ class MiniButton:
         self.bb = tk.Canvas(self.rb, highlightbackground = "black", highlightthickness = 1, bd=1,relief=tk.RAISED)
         self.bb.configure(width=width, height=height)
         self.fg = "#002"
+        self.fx = 0
         self.label = []
         self.bind("<Enter>", self.on_enter)
         self.bind("<Leave>", self.on_leave)
@@ -135,6 +136,9 @@ class MiniButton:
             #if len(self.label):
             #    self.label[0].configure(color="red") #args["fg"])
             #self.defaultBackground=args["fg"]
+        if "fx" in args:
+            #print(dir(self.bb))
+            self.fx=args["fx"]
     def configure(self,**args):
         self._configure(**args)
     def config(self,**args):
@@ -226,6 +230,10 @@ class ExecButton(MiniButton):
             self.l = self.bb.create_line(20,34 ,45,34,fill="black",arrow=tk.BOTH,tag=tag)
         if "tilt" in text.lower(): 
             self.l = self.bb.create_line(30,25 ,30,43,fill="black",arrow=tk.BOTH,tag=tag)
+        if self.fx: 
+            #self.l = self.bb.create_line(30,25 ,35,45,fill="black",arrow=tk.BOTH,tag=tag)
+            #self.l = self.bb.create_rectangle(3,35,6,38,fill="cyan",tag=tag)
+            self.l = self.bb.create_text(2,33,text="FX",anchor="nw",tag=tag,fill="black",font=self.x5font)
 
         text = txt2
         z = 0

+ 2 - 0
tkgui/draw.py

@@ -94,6 +94,7 @@ def draw_preset(gui,xframe,PRESETS):
     gui.elem_presets = {}
     i=0
     for k in PRESETS.val_presets:
+        #print( PRESETS.val_presets[k])
         if i%(10*8)==0 or i ==0:
             c=0
             #b = tk.Label(frame,bg="black", text="" )
@@ -137,6 +138,7 @@ def draw_preset(gui,xframe,PRESETS):
         b.bind("<ButtonRelease>",Xevent(fix=0,elem=b,attr=k,data=gui,mode="PRESET").cb)
         
         if k not in gui.elem_presets:
+            #print(b)
             gui.elem_presets[k] = b
         #b.pack(expand=1)
         b.grid(row=r, column=c, sticky=tk.W+tk.E)