Browse Source

cleanup global's to lib/meta MAIN.meta.DELAY ...

micha 3 months ago
parent
commit
c48a314471
12 changed files with 256 additions and 251 deletions
  1. 19 87
      _LibreLightDesk.py
  2. 10 4
      lib/execlib.py
  3. 3 5
      lib/fixlib.py
  4. 2 1
      lib/fxlib.py
  5. 1 1
      lib/libtk.py
  6. 78 12
      lib/meta.py
  7. 61 61
      lib/tkevent.py
  8. 10 10
      tkgui/EXEC-BTN.py
  9. 2 2
      tkgui/EXEC-XWING.py
  10. 25 23
      tkgui/FX3.py
  11. 3 3
      tkgui/dialog.py
  12. 42 42
      tkgui/draw.py

+ 19 - 87
_LibreLightDesk.py

@@ -32,6 +32,8 @@ import lib.libwin as libwin
 import lib.libtk as libtk
 import lib.libconfig as libconfig
 
+import lib.meta as meta
+
 rnd_id  = str(random.randint(100,900))
 rnd_id += " beta"
 rnd_id2 = ""
@@ -635,63 +637,6 @@ def highlight(fix):
     thread.start_new_thread(_highlight,(fix,"GREEN"))
     thread.start_new_thread(_highlight,(fix,"BLUE"))
 
-class ValueBuffer():
-    def __init__(self,_min=0,_max=255):
-        self._value = 2
-        self._on = 1
-        self._min=_min
-        self._max=_max
-    def check(self):
-        if self._value < self._min:
-            self._value = self._min
-        elif self._value > self._max:
-            self._value = self._max
-
-    def inc(self,value=None):
-        if value is not None:
-            if type(value) is float:
-                self._value += round(value,4)
-            else:
-                self._value += value
-        self.check()
-        return self._value
-    def val(self,value=None):
-        if value is not None:
-            if type(value) is float:
-                self._value = round(value,4)
-            else:
-                self._value = value
-        self.check()
-        return self._value
-    def on(self):
-        self._on = 1
-    def off(self):
-        self._on = 0
-    def _is(self):
-        if self._on:
-            return 1
-        return 0
-
-FADE = ValueBuffer()  #2 #0.1 #1.13
-FADE.val(2.0)
-FADE_move = ValueBuffer()  #2 #0.1 #1.13
-FADE_move.val(4.0)
-
-DELAY = ValueBuffer()  #2 #0.1 #1.13
-DELAY.off()
-DELAY.val(0.2)
-
-fx_prm_main = {}
-fx_prm_move = {"SIZE":40,"SPEED":8,"OFFSET":100,"BASE":"0","START":0,"MODE":0,"MO":0,"DIR":1,"INVERT":0,"WING":2,"WIDTH":100}
-fx_prm_3 = {"SIZE":40,"SPEED":8,"OFFSET":100,"BASE":"0","START":0,"MODE":0,"MO":0,"DIR":1,"INVERT":0,"WING":2,"WIDTH":100}
-
-fx_color = {"A":"red","B":"blue"} 
-fx_prm = {"SIZE":255,"SPEED":10,"OFFSET":100,"BASE":"-","START":0,"MODE":0,"MO":0,"DIR":1,"INVERT":1,"SHUFFLE":0,"WING":2,"WIDTH":25,"2D-X":1,"2D:MODE":0}
-fx_x_modes = ["spiral","left","right","up","down","left_right","up_down"]
-
-fx_modes = ["RED","GREEN","BLUE","MAG","YELLOW","CYAN"]
-fx_mo    = ["fade","on","rnd","ramp","ramp2","cosinus","sinus","static"]
-
 class FX_handler():
     def __init__():
         pass
@@ -711,10 +656,10 @@ import lib.fxlib as fxlib
 
 
 def process_matrix(xfixtures):
-    fx_x = fx_prm["2D-X"]
-    fx_mod = fx_x_modes[fx_prm["2D:MODE"]]
+    meta.fx_x   = meta.fx_prm["2D-X"]
+    meta.fx_mod = meta.fx_x_modes[meta.fx_prm["2D:MODE"]]
 
-    r = _process_matrix(xfixtures,fx_x,fx_mod)
+    r = _process_matrix(xfixtures,meta.fx_x,meta.fx_mod)
     return r 
 
 def _process_matrix(xfixtures,fx_x,fx_mod):
@@ -1050,15 +995,9 @@ def get_exec_btn_cfg(nr):
         
         return out
 
-class Elem_Container():
-    def __init__(self):
-        self.commands = []
-        self.val = {}
-        self.elem = {}
 
 
 import lib.execlib as execlib
-import lib.meta as meta
 
 class MASTER():
     def __init__(self):
@@ -1069,16 +1008,6 @@ class MASTER():
         self.all_attr =["DIM","PAN","TILT"] # encoder
         self.elem_attr = {}
         
-        self.setup = meta.setup
-
-        self.fx_main = meta.fx_main # Elem_Container()
-        self.fx_moves = meta.fx_moves
-        self.fx_3 = meta.fx_3
-        self.fx = meta.fx
-
-        self.fx_generic = meta.fx_generic
-        self.fx_color = meta.fx_color
-        self.commands = meta.commands
         
         for i in range(8*8*8):
             if i not in EXEC.val_exec:
@@ -1105,7 +1034,8 @@ class MASTER():
             text = "\n"+str(text)
 
         elem=None
-        for elem in [self.commands.elem,self.fx.elem,self.fx_main.elem,self.fx_moves.elem]:
+        for ct in [meta.commands,meta.fx_cfg,meta.fx_main,meta.fx_moves]:
+            elem = ct.elem
             try:
                 if name in elem:
                     #print(" in xx.elem OK ",[name,color,name,text,color2])
@@ -1525,11 +1455,11 @@ class MASTER():
     def exec_go(self,nr,val=None,xfade=None,event=None,button="",ptfade=None):
         s=time.time()
         t_start = time.time()
-        if xfade is None and FADE._is():
-            xfade = FADE.val()
+        if xfade is None and meta.FADE._is():
+            xfade = meta.FADE.val()
         
-        if ptfade is None and FADE_move._is():
-            ptfade = FADE_move.val()
+        if ptfade is None and meta.FADE_move._is():
+            ptfade = meta.FADE_move.val()
 
         print()
         cprint("Master.exec_go","-- EXEC GO FADE -----",nr,val)
@@ -1592,11 +1522,13 @@ class MASTER():
         cprint("exec_go",time.time()-t_start)
 
     def _exec_go(self,rdata,cfg,fcmd,value=None,xfade=None,event=None,xFLASH=0,ptfade=0,nr=None):
-        if xfade is None and FADE._is():
-            xfade = FADE.val()
-
-        if ptfade is None and FADE_move._is():
-            ptfade = FADE_move.val()
+        if xfade is None and meta.FADE._is():
+            xfade = meta.FADE.val()
+        xdelay=None
+        if xdelay is None and meta.DELAY._is():
+            xdelay = meta.DELAY.val()
+        if ptfade is None and meta.FADE_move._is():
+            ptfade = meta.FADE_move.val()
         cprint("EXEC._exec_go() len=",len(rdata),cfg)
         if xfade is None:
             xfade = cfg["FADE"]
@@ -1604,7 +1536,7 @@ class MASTER():
             ptfade = cfg["FADE"]
         #vcmd = reshape_exec( rdata ,value,[],xfade=xfade,fx=1) 
         #cprint(rdata,color="red")
-        vcmd = execlib.reshape_exec( rdata ,value,xfade=xfade,ptfade=ptfade) 
+        vcmd = execlib.reshape_exec( rdata ,value,xfade=xfade,ptfade=ptfade,DELAY=xdelay) 
 
         cmd = []
         delay=0

+ 10 - 4
lib/execlib.py

@@ -17,6 +17,14 @@ def reshape_exec(data ,value=None,xfade=0,flash=0,ptfade=0,DELAY=None):
 
     out = []
     delay=0
+    if DELAY is not None:
+        if DELAY < 0:
+            print("-"*20+" DELAY is MINUS !!!",DELAY)
+            #DELAY *= -1
+            #delay = len(data)*DELAY/100
+            delay = DELAY*-1
+            print(delay)
+
     for row in data:
         #cprint("reshape_exec in:",row)
         line = {}
@@ -76,10 +84,8 @@ def reshape_exec(data ,value=None,xfade=0,flash=0,ptfade=0,DELAY=None):
             cprint("reshape_exec j",line,color="red") 
         #cprint("reshape_exec out:",line)
         out.append(line)
-
-        if DELAY:
-            if DELAY._is():
-                delay+=DELAY.val()/100 #0.02
+        if DELAY is not None:
+            delay+=DELAY/100 #0.02
     return out
 
 

+ 3 - 5
lib/fixlib.py

@@ -356,7 +356,7 @@ def get_active(fixtures,_filter=""): #_filter only-fx
 
     sdata = OrderedDict()
     sdata["CFG"] = CFG # OrderedDict()
-    sdata["CFG"]["FADE"] = MAIN.FADE.val()
+    sdata["CFG"]["FADE"] = MAIN.meta.FADE.val()
     sdata["CFG"]["DEALY"] = 0
 
     for fix in fixtures:                            
@@ -531,8 +531,8 @@ def encoder(fixtures,fix,attr,xval="",xfade=0,xdelay=0,blind=0):
                 elif data["ATTRIBUT"][attr]["ACTIVE"]:
                     if _fix:
                         sub_data.append([_fix,attr,xval,xfade,delay])
-            if MAIN.DELAY._is():
-                delay += MAIN.DELAY.val()/100
+            if MAIN.meta.DELAY._is():
+                delay += MAIN.meta.DELAY.val()/100
 
         sub_jdata = []
         for dd in sub_data:
@@ -681,7 +681,6 @@ class Fixtures():
     def fx_get(self,fix=None):
         out={}
         if not fix or fix == "all":
-            #self.data.fx.elem[self.attr]["bg"] = "magenta"
             for fix in self.fixtures:
                 data = self.fixtures[fix]
                 for attr in data["ATTRIBUT"]:
@@ -691,7 +690,6 @@ class Fixtures():
         return out
     def fx_off(self,fix=None):
         if not fix or fix == "all":
-            #self.data.fx.elem[self.attr]["bg"] = "magenta"
             for fix in self.fixtures:
                 data = self.fixtures[fix]
                 for attr in data["ATTRIBUT"]:

+ 2 - 1
lib/fxlib.py

@@ -5,6 +5,7 @@ import random
 import sys
 sys.path.insert(0,"/opt/LibreLight/Xdesk/")
 import lib.fixlib as fixlib
+import lib.meta as meta
 
 def cprint(*args):
     print(args)
@@ -129,7 +130,7 @@ def process_effect(wing_buffer,fx_prm,fx_prm_move,modes,jclient_send,master,FIXT
                 else:
                     if ":DIM" in fx_name:
                         base=""
-                        ffxb=fx_mo[fx_prm["MO"]] 
+                        ffxb=meta.fx_mo[fx_prm["MO"]] 
 
                         if attr == "DIM":
                             if cspeed < 0:

+ 1 - 1
lib/libtk.py

@@ -489,7 +489,7 @@ def tk_keyboard_callback(event,data={}):#value=255):
             cprint("numbersign !!")
             MAIN.save_show()
 
-            for e in MAIN.master.setup.commands:
+            for e in MAIN.master.setup.labels:
                 cprint(e)
             e =  MAIN.master.setup.elem["SAVE\nSHOW"]
             cprint(e)

+ 78 - 12
lib/meta.py

@@ -1,8 +1,74 @@
 #!/usr/bin/python3
 
+class ValueBuffer():
+    def __init__(self,val=2,_min=0,_max=255,_inc=1):
+        self._value = val
+        self._on = _inc
+        self._inc = 0.1
+        self._min=_min
+        self._max=_max
+        print(self,val)
+    def check(self):
+        print(":::",self,self._value,self._min,self._max)
+        if self._value < self._min:
+            self._value = self._min
+            print(self,"MIN !")
+        if self._value > self._max:
+            self._value = self._max
+            print(self,"MAX !")
+
+    def dec(self,value=None):
+        if value is None:
+            value = self._inc
+        if type(value) is float:
+            value = round(value,4)
+        self._value -= value
+        self.check()
+        return self._value
+
+    def inc(self,value=None):
+        if value is None:
+            value = self._inc
+        if type(value) is float:
+            value = round(value,4)
+        self._value += value
+        self.check()
+        return self._value
+
+    def val(self,value=None):
+        if value is None:
+            return float(self._value)
+
+        if type(value) is float:
+            self._value = round(value,4)
+        self._value = value
+        self.check()
+        return float(self._value)
+
+    def on(self):
+        self._on = 1
+
+    def off(self):
+        self._on = 0
+
+    def _is(self):
+        if self._on:
+            return 1
+        return 0
+
+FADE = ValueBuffer(val=2)  #2 #0.1 #1.13
+DELAY = ValueBuffer(val=0.2,_min=-10,_max=10,_inc=0.1)  
+DELAY.off()
+
+FADE_move = ValueBuffer(val=4.0)  #2 #0.1 #1.13
+FADE_move_delay = ValueBuffer(val=0)  #2 #0.1 #1.13
+
+
+
 class Elem_Container():
     def __init__(self):
-        self.commands = []
+        #self.commands = []
+        self.labels = []
         self.val = {}
         self.elem = {}
 
@@ -10,7 +76,7 @@ fx_prm_main = {}
 fx_prm_move = {"SIZE":40,"SPEED":8,"OFFSET":100,"BASE":"0","START":0,"MODE":0,"MO":0,"DIR":1,"INVERT":0,"WING":2,"WIDTH":100}
 fx_prm_3 = {"SIZE":40,"SPEED":8,"OFFSET":100,"BASE":"0","START":0,"MODE":0,"MO":0,"DIR":1,"INVERT":0,"WING":2,"WIDTH":100}
 
-fx_color = {"A":"red","B":"blue"} 
+#fx_color = {"A":"red","B":"blue"} 
 fx_prm = {"SIZE":255,"SPEED":10,"OFFSET":100,"BASE":"-","START":0,"MODE":0,"MO":0,"DIR":1,"INVERT":1,"SHUFFLE":0,"WING":2,"WIDTH":25,"2D-X":1,"2D:MODE":0}
 fx_x_modes = ["spiral","left","right","up","down","left_right","up_down"]
 
@@ -20,18 +86,18 @@ fx_mo    = ["fade","on","rnd","ramp","ramp2","cosinus","sinus","static"]
 
 # MASTER --------
 setup = Elem_Container()
-setup.commands = ["SAVE\nSHOW","LOAD\nSHOW","NEW\nSHOW","SAVE\nSHOW AS","SAVE &\nRESTART","DRAW\nGUI","PRO\nMODE"]
-setup.commands = ["SAVE\nSHOW","LOAD\nSHOW","NEW\nSHOW","SAVE\nSHOW AS","SAVE &\nRESTART","PRO\nMODE"]
+#setup.labels = ["SAVE\nSHOW","LOAD\nSHOW","NEW\nSHOW","SAVE\nSHOW AS","SAVE &\nRESTART","DRAW\nGUI","PRO\nMODE"]
+setup.labels = ["SAVE\nSHOW","LOAD\nSHOW","NEW\nSHOW","SAVE\nSHOW AS","SAVE &\nRESTART","PRO\nMODE"]
 
 fx_main = Elem_Container()
-fx_main.commands =["REC-FX","FX OFF","\n"]
+fx_main.labels =["REC-FX","FX OFF","\n"]
 fx_moves = Elem_Container()
-fx_moves.commands =[
+fx_moves.labels =[
         "FX:CIR","FX:PAN","FX:TILT", "WIDTH:\n100","DIR:\n0","INVERT:\n0","\n",
         "SHUFFLE:\n0","SIZE:\n","SPEED:\n","START:\n","OFFSET:\n","\n"
         ]
 fx_3 = Elem_Container()
-fx_3.commands =[
+fx_3.labels =[
         "FX:ATTR","PAN","TILT","ATTR3","ATTR4","\n",
         "TYPE:","SIN","COS"," "," ","\n",
         "WIDTH:","25","25","25","25","\n",
@@ -50,19 +116,19 @@ fx_3.commands =[
         ]
         #, "FX:SIN","FX:COS","FX:RAMP","FX:RAMP2","FX:FD","FX:ON","BASE:\n-"] #,"FX:RND" ]
 
-fx = Elem_Container()
-fx.commands =[
+fx_cfg = Elem_Container()
+fx_cfg.labels =[
         "FX:DIM"," ", "WIDTH:\n25","WING:\n2","DIR:\n1","INVERT:\n1","\n","SHUFFLE:\n0"
         ,"SIZE:\n","SPEED:\n","START:\n","OFFSET:\n","BASE:\n-","2D-X:\n-","2D:MODE"
         ]
 fx_generic = Elem_Container()
-fx_generic.commands =["FX:SIN","FX:COS","FX:RAMP","FX:RAMP2","FX:FD","FX:ON","FX:STATIC"]
+fx_generic.labels =["FX:SIN","FX:COS","FX:RAMP","FX:RAMP2","FX:FD","FX:ON","FX:STATIC"]
 
 fx_color = Elem_Container()
-fx_color.commands =["FX:RED","FX-C:A","FX-C:B"] 
+fx_color.labels =["FX:RED","FX-C:A","FX-C:B"] 
 
 commands = Elem_Container()
-commands.commands =["\n","ESC","CFG-BTN","LABEL","-","DEL","-","\n"
+commands.labels =["\n","ESC","CFG-BTN","LABEL","-","DEL","-","\n"
         ,"SELECT","FLASH","GO","-","MOVE","S-KEY","\n"
         ,"BLIND","CLEAR","REC","EDIT","COPY",".","\n" 
         ]

+ 61 - 61
lib/tkevent.py

@@ -151,46 +151,46 @@ class tk_event():
             return 0
                 
         if "FADE" in self.attr or "DELAY" in self.attr:
-           
+            ct =None
             if self.attr == "FADE":
-                ct = MAIN.FADE
-            if self.attr == "DELAY":
-                ct = MAIN.DELAY
-            if "PAN/TILT\nFADE" in self.attr:
-                ct = MAIN.FADE_move
-
+                ct = MAIN.meta.FADE
+            elif self.attr == "DELAY":
+                ct = MAIN.meta.DELAY
+            elif "PAN/TILT\nFADE" in self.attr:
+                ct = MAIN.meta.FADE_move
+            elif "PAN/TILT\nDELAY" in self.attr:
+                ct = MAIN.meta.FADE_move_delay
+            if ct is None:
+                cprint("err live",[self.attr],color="red")
+                cprint(" ",ct,color="red")
+                return
             value = ct.val()
-            #print("EVENT CHANGE ",[self.attr])
             cprint("EVENT CHANGE:",self.mode,value,self.attr)
-            if value < 0:
-                value = 1
-            if event.num == 4:
-                value += 0.1 
-            elif event.num == 5:
-                value -= 0.1
-            elif event.num == 1:
+
+            if event.num == 1:
                 if ct._is():
                     ct.off()# = 0
-                    self.data.commands.elem[self.attr]["bg"] = "grey"
+                    MAIN.meta.commands.elem[self.attr]["bg"] = "grey"
                     self.elem.config(activebackground="grey")
                 else:
                     ct.on()# = 1
-                    self.data.commands.elem[self.attr]["bg"] = "green"
+                    MAIN.meta.commands.elem[self.attr]["bg"] = "green"
                     self.elem.config(activebackground="lightgreen")
             elif event.num == 2:
-                value += 1
+                ct.val(0)
+            elif event.num == 4:
+                ct.inc() 
+            elif event.num == 5:
+                ct.dec()
 
-            if value > 10:
-                value = 1
-            value = round(value,1)
-            value = ct.val(value)
+            value = ct.val()
 
             if self.attr == "FADE":
-                self.data.commands.elem[self.attr]["text"] = "FADE:\n{:0.2f}".format(value)
+                MAIN.meta.commands.elem[self.attr]["text"] = "FADE:\n{:0.2f}".format(value)
             if self.attr == "DELAY":
-                self.data.commands.elem[self.attr]["text"] = "DELAY:\n{:0.3f}".format(value)
+                MAIN.meta.commands.elem[self.attr]["text"] = "DELAY:\n{:0.3f}".format(value)
             if "PAN/TILT\nFADE" in self.attr:
-                self.data.commands.elem[self.attr]["text"] = "PAN/TILT\nFADE:{:0.2f}".format(value)
+                MAIN.meta.commands.elem[self.attr]["text"] = "PAN/TILT\nFADE:{:0.2f}".format(value)
 
 
 
@@ -216,12 +216,12 @@ class tk_event():
         elif self.attr == "S-KEY":
             if MAIN._global_short_key:
                 MAIN._global_short_key = 0
-                MAIN.master.commands.elem["S-KEY"]["bg"] = "red"
-                MAIN.master.commands.elem["S-KEY"]["activebackground"] = "red"
+                MAIN.meta.commands.elem["S-KEY"]["bg"] = "red"
+                MAIN.meta.commands.elem["S-KEY"]["activebackground"] = "red"
             else:
                 MAIN._global_short_key = 1
-                MAIN.master.commands.elem["S-KEY"]["bg"] = "green"
-                MAIN.master.commands.elem["S-KEY"]["activebackground"] = "green"
+                MAIN.meta.commands.elem["S-KEY"]["bg"] = "green"
+                MAIN.meta.commands.elem["S-KEY"]["activebackground"] = "green"
             cprint("s-key",MAIN._global_short_key)
 
         else:
@@ -409,7 +409,7 @@ class tk_event_fx():
     """
     def __init__(self,fix,elem,attr=None,data=None,mode=None):
         self.fix = fix
-        self.data = data
+        self.data = data # gui / master
         self.attr = attr
         self.elem = elem
         self.mode = mode
@@ -420,41 +420,41 @@ class tk_event_fx():
 
         if self.attr == "FX:RED":
             if event.num == 4:
-                cprint("FX:COLOR CHANGE",MAIN.fx_prm,color="red")
+                cprint("FX:COLOR CHANGE",MAIN.meta.fx_prm,color="red")
                 txt = "FX:RED" 
-                MAIN.fx_prm["MODE"] += 1
-                if MAIN.fx_prm["MODE"] >= len(MAIN.fx_modes):
-                    MAIN.fx_prm["MODE"]=0
-                txt = "FX:\n"+MAIN.fx_modes[MAIN.fx_prm["MODE"]]
+                MAIN.meta.fx_prm["MODE"] += 1
+                if MAIN.meta.fx_prm["MODE"] >= len(MAIN.meta.fx_modes):
+                    MAIN.meta.fx_prm["MODE"]=0
+                txt = "FX:\n"+MAIN.meta.fx_modes[MAIN.meta.fx_prm["MODE"]]
 
-                MAIN.master.fx_color.elem["FX:RED"]["text"] = txt
+                MAIN.meta.fx_color.elem["FX:RED"]["text"] = txt
             elif event.num == 5:
-                cprint("FX:COLOR CHANGE",MAIN.fx_prm,color="red")
+                cprint("FX:COLOR CHANGE",MAIN.meta.fx_prm,color="red")
                 txt = "FX:RED" 
-                MAIN.fx_prm["MODE"] -= 1
-                if MAIN.fx_prm["MODE"] < 0:
-                    MAIN.fx_prm["MODE"]= len(MAIN.fx_modes)-1
-                txt = "FX:\n"+MAIN.fx_modes[MAIN.fx_prm["MODE"]]
-                MAIN.master.fx_color.elem["FX:RED"]["text"] = txt
+                MAIN.meta.fx_prm["MODE"] -= 1
+                if MAIN.meta.fx_prm["MODE"] < 0:
+                    MAIN.meta.fx_prm["MODE"]= len(MAIN.meta.fx_modes)-1
+                txt = "FX:\n"+MAIN.meta.fx_modes[MAIN.meta.fx_prm["MODE"]]
+                MAIN.meta.fx_color.elem["FX:RED"]["text"] = txt
 
         if self.attr.startswith("2D"):
             if event.num == 4:
-                cprint("2D-X: CHANGE",MAIN.fx_prm,color="red")
+                cprint("2D-X: CHANGE",MAIN.meta.fx_prm,color="red")
                 txt = "2D-X:" 
-                MAIN.fx_prm["2D:MODE"] += 1
-                if MAIN.fx_prm["2D:MODE"] >= len(MAIN.fx_x_modes):
-                    MAIN.fx_prm["2D:MODE"]=0
-                txt = "2D:MODE\n"+MAIN.fx_x_modes[MAIN.fx_prm["2D:MODE"]]
+                MAIN.meta.fx_prm["2D:MODE"] += 1
+                if MAIN.meta.fx_prm["2D:MODE"] >= len(MAIN.meta.fx_x_modes):
+                    MAIN.meta.fx_prm["2D:MODE"]=0
+                txt = "2D:MODE\n"+MAIN.meta.fx_x_modes[MAIN.meta.fx_prm["2D:MODE"]]
 
-                MAIN.master.fx.elem["2D:MODE"]["text"] = txt
+                MAIN.meta.fx_cfg.elem["2D:MODE"]["text"] = txt
             elif event.num == 5:
-                cprint("2D-X: CHANGE",MAIN.fx_prm,color="red")
+                cprint("2D-X: CHANGE",MAIN.meta.fx_prm,color="red")
                 txt = "2D-X:" 
-                MAIN.fx_prm["2D:MODE"] -= 1
-                if MAIN.fx_prm["2D:MODE"] < 0:
-                    MAIN.fx_prm["2D:MODE"]= len(MAIN.fx_x_modes)-1
-                txt = "2D:MODE\n"+MAIN.fx_x_modes[MAIN.fx_prm["2D:MODE"]]
-                MAIN.master.fx.elem["2D:MODE"]["text"] = txt
+                MAIN.meta.fx_prm["2D:MODE"] -= 1
+                if MAIN.meta.fx_prm["2D:MODE"] < 0:
+                    MAIN.meta.fx_prm["2D:MODE"]= len(MAIN.meta.fx_x_modes)-1
+                txt = "2D:MODE\n"+MAIN.meta.fx_x_modes[MAIN.meta.fx_prm["2D:MODE"]]
+                MAIN.meta.fx_cfg.elem["2D:MODE"]["text"] = txt
 
         elif event.num == 1:
             xfixtures = []
@@ -470,9 +470,9 @@ class tk_event_fx():
             
             
             xfixtures   = MAIN.process_matrix(xfixtures)
-            wing_buffer = fxlib.process_wings(xfixtures,MAIN.fx_prm)
+            wing_buffer = fxlib.process_wings(xfixtures,MAIN.meta.fx_prm)
             fxlib.process_effect(
-                        wing_buffer,MAIN.fx_prm,MAIN.fx_prm_move,MAIN.modes,
+                        wing_buffer,MAIN.meta.fx_prm,MAIN.meta.fx_prm_move,MAIN.modes,
                         MAIN.jclient_send,MAIN.master,
                         MAIN.FIXTURES,fx_name=self.attr
                         )
@@ -484,15 +484,15 @@ class tk_event_fx():
         cprint("tkevent.tk_event_fx.command")
         cprint(" ",self.mode)
         if self.mode == "FX":
-            prm = MAIN.fx_prm
-            ct = self.data.fx 
+            prm = MAIN.meta.fx_prm
+            ct  = MAIN.meta.fx_cfg
         if self.mode == "FX-MOVE":
-            prm = MAIN.fx_prm_move
-            ct = self.data.fx_moves 
+            prm = MAIN.meta.fx_prm_move
+            ct = MAIN.meta.fx_moves 
 
         if 1:
             if self.attr.startswith("SIZE:"):#SIN":
-                #global MAIN.fx_prm
+                #global MAIN.meta.fx_prm
                 k = "SIZE"
                 if event.num == 1:
                     _stats = [0,30,100,255]

+ 10 - 10
tkgui/EXEC-BTN.py

@@ -9,6 +9,9 @@ from tkinter import font
 import traceback
 import _thread as thread
 
+sys.path.insert(0,"/opt/LibreLight/Xdesk/")
+import lib.meta as meta
+
 
 import dialog
 DIALOG = dialog.Dialog()
@@ -42,7 +45,7 @@ def dialog_cfg_open(btn_nr,META):
     button = cfg["BUTTON"]
     DIALOG._cb = dialog_cb_cfg(btn_nr+1)
     DIALOG.ask_exec_config(str(btn_nr+1),button=button,label=label,cfg=cfg)
-    #print("INFO",master.commands.elem)
+    #print("INFO",meta.commands.elem)
 
 def dialog_label_open(btn_nr,META):
     print("META",META)
@@ -52,7 +55,7 @@ def dialog_label_open(btn_nr,META):
     DIALOG._cb = dialog_cb_label(btn_nr+1)
     #DIALOG.ask_exec_config(str(btn_nr+1),button=button,label=label,cfg=cfg)
     DIALOG.askstring("LABEL","LABEL EXE:"+str(btn_nr+1),initialvalue=label)
-    #print("INFO",master.commands.elem)
+    #print("INFO",meta.commands.elem)
 
 def dialog_cb_cfg(exec_nr): #DAILOG CONFIG CALLBACK
     def _Dcb(*args):
@@ -93,8 +96,6 @@ DIALOG._cb = dialog_cb_cfg(-3)
 
 import __main__ as MAIN
 
-_file_path = "/opt/LibreLight/Xdesk/"
-sys.path.insert(0,"/opt/LibreLight/Xdesk/")
 
 import tool.git as git
 #CAPTION += git.get_all()
@@ -182,7 +183,6 @@ def draw_exec(gui,xframe,EXEC):
     print("##################################")
 
 import tool.movewin as movewin
-#movewin.check_is_started(CAPTION,_file_path)
 movewin.check_is_started("EXEC-BTN","/opt/LibreLight/Xdesk/tkgui/EXEC-BTN.py")
 
 _global_short_key = 1
@@ -209,23 +209,23 @@ class Command():
     def __init__(self):
         self.elem = {}
 
-class MASTER(): # DUMMY
+class MANAGER(): # DUMMY
     def __init__(self,*arg,**args):
         print(self,"__init__",arg,args)
         #self.refresh_fix = Refresher()
-        self.commands = Command()
+        #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 _global_key_lock:
             return
         #def exec_go(nr,xfade=None,val=0):
-        print(self,"MASTER",nr,arg,args)
+        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 MASTER.EXEC_GO:",msg,color="green")
+        cprint("SEND MANAGER.EXEC_GO:",msg,color="green")
         cmd_client.send(msg)
 
 def refresh_fix(*arg,**args): # DUMMY
@@ -247,7 +247,7 @@ class Modes(): # DUMMY
         #print("Modes.val",arg,args)
         pass
 
-master = MASTER() #{}
+manager = MANAGER() #{}
 modes = Modes()
 
 import tkinter as tk

+ 2 - 2
tkgui/EXEC-XWING.py

@@ -289,7 +289,7 @@ class Command():
 
 _global_key_lock = 0
 
-class MASTER(): # DUMMY
+class MANAGER(): # DUMMY
     def __init__(self,*arg,**args):
         print(self,"__init__",arg,args)
         #self.refresh_fix = Refresher()
@@ -316,7 +316,7 @@ class Modes(): # DUMMY
         #print("Modes.val",arg,args)
         pass
 
-master = MASTER() #{}
+manager = MASTER() #{}
 modes = Modes()
 
 

+ 25 - 23
tkgui/FX3.py

@@ -9,6 +9,8 @@ from tkinter import font
 import traceback
 import _thread as thread
 
+sys.path.insert(0,"/opt/LibreLight/Xdesk/")
+import lib.meta as meta
 
 import dialog
 DIALOG = dialog.Dialog()
@@ -42,7 +44,7 @@ def dialog_cfg_open(btn_nr,META):
     button = cfg["BUTTON"]
     DIALOG._cb = dialog_cb_cfg(btn_nr+1)
     DIALOG.ask_exec_config(str(btn_nr+1),button=button,label=label,cfg=cfg)
-    #print("INFO",master.commands.elem)
+    #print("INFO",meta.commands.elem)
 
 def dialog_label_open(btn_nr,META):
     print("META",META)
@@ -52,7 +54,7 @@ def dialog_label_open(btn_nr,META):
     DIALOG._cb = dialog_cb_label(btn_nr+1)
     #DIALOG.ask_exec_config(str(btn_nr+1),button=button,label=label,cfg=cfg)
     DIALOG.askstring("LABEL","LABEL EXE:"+str(btn_nr+1),initialvalue=label)
-    #print("INFO",master.commands.elem)
+    #print("INFO",meta.commands.elem)
 
 def dialog_cb_cfg(exec_nr): #DAILOG CONFIG CALLBACK
     def _Dcb(*args):
@@ -189,10 +191,10 @@ def _add_space(frame,r,c):
     return r,c
 
 def _draw_fx_3(frame,c,r,gui,mode="FX"):
-    ct  = gui.fx_3 #moves
-    prm = MAIN.fx_prm_3
+    ct  = MAIN.meta.fx_3 #moves
+    prm = MAIN.meta.fx_prm_3
 
-    for comm in ct.commands:
+    for comm in ct.labels:
         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)
@@ -254,26 +256,26 @@ def _draw_fx_3(frame,c,r,gui,mode="FX"):
 
 def _draw_fx(frame,c,r,gui,mode="FX"):
     if mode=="FX-MAIN":
-        ct  = gui.fx_main
-        prm = MAIN.fx_prm_main
+        ct  = MAIN.meta.fx_main
+        prm = MAIN.meta.fx_prm_main
     elif mode=="FX-MOVE":
-        ct  = gui.fx_moves
-        prm = MAIN.fx_prm_move
+        ct  = MAIN.meta.fx_moves
+        prm = MAIN.meta.fx_prm_move
     elif mode=="FX":
-        ct  = gui.fx
-        prm = MAIN.fx_prm
+        ct  = MAIN.meta.fx_cfg
+        prm = MAIN.meta.fx_prm
     elif mode=="FX-GENERIC":
-        ct  = gui.fx_generic
-        prm = MAIN.fx_prm #_generic
+        ct  = MAIN.meta.fx_generic
+        prm = MAIN.meta.fx_prm #_generic
     elif mode=="FX-COLOR":
-        ct  = gui.fx_color
-        prm = MAIN.fx_color #_generic
+        ct  = MAIN.meta.fx_color
+        prm = MAIN.meta.fx_color #_generic
     else:
         ct = Elem_Container()
-        ct.commands =["err"]
+        ct.labels =["err"]
         prm = ["err"]
 
-    for comm in ct.commands:
+    for comm in ct.labels:
         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)
@@ -387,11 +389,11 @@ class Command():
     def __init__(self):
         self.elem = {}
 
-class MASTER(): # DUMMY
+class MANAGER(): # DUMMY
     def __init__(self,*arg,**args):
         print(self,"__init__",arg,args)
         #self.refresh_fix = Refresher()
-        self.commands = Command()
+        #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):
@@ -425,7 +427,7 @@ class Modes(): # DUMMY
         #print("Modes.val",arg,args)
         pass
 
-master = MASTER() #{}
+manager = MASTER() #{}
 modes = Modes()
 
 import tkinter as tk
@@ -634,11 +636,11 @@ if 0:
     geo = libwin.filter_window_geo(geo_list,name)
     if geo:
         args.update(geo)
-    cls = draw_fx_3 #(master,w.tk)
+    cls = draw_fx_3 #(manager,w.tk)
     data = []
     cb_ok = None
 
-    c = libtk.window_create_buffer(args=args,cls=cls,data=data,cb_ok=cb_ok,gui=master,scroll=0)
+    c = libtk.window_create_buffer(args=args,cls=cls,data=data,cb_ok=cb_ok,gui=manager,scroll=0)
     window_manager.new(None,name,wcb=c)
     if libwin.split_window_show(geo_list,_filter=name):
         window_manager.top(name)
@@ -680,7 +682,7 @@ except Exception as e:
     print(" Exception GUIWindowContainer.__init__",e)
 
 xframe = libtk.ScrollFrame(root,width=820,height=400,bd=1,bg="black",head=None,foot=None)
-draw_exec(gui,xframe,EXEC)
+#draw_exec(gui,xframe,EXEC)
 draw_fx_3(gui,xframe,EXEC)
 root.title(title) #"TK-EXEC")
 

+ 3 - 3
tkgui/dialog.py

@@ -34,7 +34,7 @@ class InputEventBlocker():
                 print("init() exception",e)
     def _lock(self):
         MAIN._global_short_key = 0
-        try:MAIN.master.commands.elem["S-KEY"]["bg"] = "red"
+        try:MAIN.meta.commands.elem["S-KEY"]["bg"] = "red"
         except Exception as e:cprint("exc",self,e)
         cmd="xset -display :0.0 r rate 240 15"
         print("CMD:",cmd)
@@ -42,7 +42,7 @@ class InputEventBlocker():
 
     def _unlock(self):
         MAIN._global_short_key = 1
-        try:MAIN.master.commands.elem["S-KEY"]["bg"] = "green"
+        try:MAIN.meta.commands.elem["S-KEY"]["bg"] = "green"
         except Exception as e:cprint("exc",self,e)
         cmd = "xset -display :0.0 r off"
         print("CMD:",cmd)
@@ -67,7 +67,7 @@ class InputEventBlocker():
 
         cprint("    ",self,event,args)
         #print("###-",self.e_txt,dir(self.e_txt))
-        if "S-KEY" not in MAIN.master.commands.elem:
+        if "S-KEY" not in MAIN.meta.commands.elem:
             #cprint("<GLOBAL-GUI-EVENT-DISABLED>",event,color="red")
             return 
 

+ 42 - 42
tkgui/draw.py

@@ -35,18 +35,18 @@ def draw_command(gui,xframe,data):
     frame.pack(fill=tk.X, side=tk.TOP)
    
     c+=1
-    gui.commands.elem = {}
-    for comm in gui.commands.commands:
+    MAIN.meta.commands.elem = {}
+    for comm in MAIN.meta.commands.labels:
         if comm == "\n":
             c=0
             r+=1
             continue
         v=0
-        print(dir(gui.commands))
+        print(dir(MAIN.meta.commands))
         b = tk.Button(frame,bg="lightgrey", text=str(comm),width=6,height=2)
-        if 1:#comm not in gui.commands.elem:
-            gui.commands.elem[comm] = b
-            gui.commands.val[comm] = 0
+        if 1:#comm not in MAIN.meta.commands.elem:
+            MAIN.meta.commands.elem[comm] = b
+            MAIN.meta.commands.val[comm] = 0
         if comm == "BLIND":
             b["bg"] = "grey"
             myTip = Hovertip(b,'BLIND MODE\nNO CHANGE on DMX-OUTPUT')
@@ -79,21 +79,21 @@ def draw_command(gui,xframe,data):
         if comm == "FX OFF":
             b["bg"] = "magenta"
         if comm == "SIZE:":
-            b["text"] = "SIZE:{:0.0f}".format(MAIN.fx_prm["SIZE"])
+            b["text"] = "SIZE:{:0.0f}".format(MAIN.meta.fx_prm["SIZE"])
         if comm == "SPEED:":
-            b["text"] = "SPEED:{:0.0f}".format(MAIN.fx_prm["SPEED"])
+            b["text"] = "SPEED:{:0.0f}".format(MAIN.meta.fx_prm["SPEED"])
         if comm == "DELAY":
-            b["text"] = "FADE:\n{:0.02f}".format(MAIN.DELAY.val())
+            b["text"] = "FADE:\n{:0.02f}".format(MAIN.meta.DELAY.val())
         if comm == "FADE":
-            b["text"] = "FADE:\n{:0.02f}".format(MAIN.FADE.val())
+            b["text"] = "FADE:\n{:0.02f}".format(MAIN.meta.FADE.val())
         if comm == "START:":
-            b["text"] = "START:{:0.0f}".format(MAIN.fx_prm["START"])
+            b["text"] = "START:{:0.0f}".format(MAIN.meta.fx_prm["START"])
         if comm == "OFFSET:":
-            b["text"] = "OFFSET:{:0.0f}".format(MAIN.fx_prm["OFFSET"])
+            b["text"] = "OFFSET:{:0.0f}".format(MAIN.meta.fx_prm["OFFSET"])
         if comm == "FX-X:":
-            b["text"] = "FX-X:{}".format(MAIN.fx_prm["FX-X"])
+            b["text"] = "FX-X:{}".format(MAIN.meta.fx_prm["FX-X"])
         if comm == "BASE:":
-            b["text"] = "BASE:{}".format(MAIN.fx_prm["BASE"])
+            b["text"] = "BASE:{}".format(MAIN.meta.fx_prm["BASE"])
 
         b.bind("<Button>",tkevent.tk_event(fix=0,elem=b,attr=comm,data=gui,mode="COMMAND").cb)
         if comm:
@@ -172,7 +172,7 @@ def draw_colorpicker(gui,xframe,data):
             try:
                 print("e.state",event.state)
             except:pass
-            set_fade = MAIN.FADE.val() #fade
+            set_fade = MAIN.meta.FADE.val() #fade
 
             event_ok = 0
             event_num = 0
@@ -203,8 +203,8 @@ def draw_colorpicker(gui,xframe,data):
                 set_fade=0
 
                 if event_num == 1: 
-                    if MAIN.FADE._is():
-                        set_fade=MAIN.FADE.val() #fade
+                    if MAIN.meta.FADE._is():
+                        set_fade=MAIN.meta.FADE.val() #fade
                     cr = color[0]
                     cg = color[1]
                     cb = color[2]
@@ -427,10 +427,10 @@ def draw_enc(gui,xframe,data=[]):
     c+=1
 
 def _draw_fx_3(frame,c,r,gui,mode="FX"):
-    ct  = gui.fx_3 #moves
-    prm = MAIN.fx_prm_3
+    ct  = MAIN.meta.fx_3 #moves
+    prm = MAIN.meta.fx_prm_3
 
-    for comm in ct.commands:
+    for comm in ct.labels:
         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)
@@ -492,26 +492,26 @@ def _draw_fx_3(frame,c,r,gui,mode="FX"):
 
 def _draw_fx(frame,c,r,gui,mode="FX"):
     if mode=="FX-MAIN":
-        ct  = gui.fx_main
-        prm = MAIN.fx_prm_main
+        ct  = MAIN.meta.fx_main
+        prm = MAIN.meta.fx_prm_main
     elif mode=="FX-MOVE":
-        ct  = gui.fx_moves
-        prm = MAIN.fx_prm_move
+        ct  = MAIN.meta.fx_moves
+        prm = MAIN.meta.fx_prm_move
     elif mode=="FX":
-        ct  = gui.fx
-        prm = MAIN.fx_prm
+        ct  = MAIN.meta.fx_cfg #gui.fx
+        prm = MAIN.meta.fx_prm
     elif mode=="FX-GENERIC":
-        ct  = gui.fx_generic
-        prm = MAIN.fx_prm #_generic
+        ct  = MAIN.meta.fx_generic
+        prm = MAIN.meta.fx_prm #_generic
     elif mode=="FX-COLOR":
-        ct  = gui.fx_color
-        prm = MAIN.fx_color #_generic
+        ct  = MAIN.meta.fx_color
+        prm = MAIN.meta.fx_color #_generic
     else:
         ct = Elem_Container()
-        ct.commands =["err"]
+        ct.labels =["err"]
         prm = ["err"]
 
-    for comm in ct.commands:
+    for comm in ct.labels:
         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)
@@ -656,8 +656,8 @@ def draw_setup(gui,xframe,data):
     if "--easy" in sys.argv:
         pro_mode=0
 
-    gui.setup.elem  = {}
-    comms = gui.setup.commands # = Elem_Container()
+    MAIN.meta.setup.elem  = {}
+    comms = MAIN.meta.setup.labels # = Elem_Container()
     for comm in comms: 
         if comm == "\n":
             c=0
@@ -700,8 +700,8 @@ def draw_setup(gui,xframe,data):
         else: #empty
             b = tk.Button(frame,bg="grey", text="",width=6,height=2)
 
-        if 1:# comm not in gui.commands.elem:
-            gui.setup.elem[comm] = b
+        if 1:# comm not in MAIN.meta.commands.elem:
+            MAIN.meta.setup.elem[comm] = b
             #gui.setup.elem.val[comm] = 0
 
         if ok:
@@ -750,17 +750,17 @@ def draw_live(gui,xframe,data):
         v=0
         
         b = tk.Button(frame,bg="lightgrey", text=str(comm),width=6,height=2)
-        if 1:#comm not in gui.commands.elem:
-            gui.commands.elem[comm] = b
-            gui.commands.val[comm] = 0
+        if 1:#comm not in MAIN.meta.commands.elem:
+            MAIN.meta.commands.elem[comm] = b
+            MAIN.meta.commands.val[comm] = 0
         b.bind("<Button>",tkevent.tk_event(fix=0,elem=b,attr=comm,data=gui,mode="LIVE").cb)
 
         if "FADE" == comm:
-            b["text"] = "FADE:\n{:0.2}".format(MAIN.FADE.val())
+            b["text"] = "FADE:\n{:0.2}".format(MAIN.meta.FADE.val())
         if "DELAY" == comm:
-            b["text"] = "DELAY:\n{:0.2}".format(MAIN.DELAY.val())
+            b["text"] = "DELAY:\n{:0.2}".format(MAIN.meta.DELAY.val())
         if "PAN/TILT\nFADE" == comm:
-            b["text"] = "PAN/TILT\nFADE:{:0.2}".format(MAIN.FADE_move.val())
+            b["text"] = "PAN/TILT\nFADE:{:0.2}".format(MAIN.meta.FADE_move.val())
 
         if "FADE" in comm:
             b["bg"] = "green"