Prechádzať zdrojové kódy

add save_meta/load_meta LIVE FADE,DELAY...

micha 19 hodín pred
rodič
commit
b0c3244929
4 zmenil súbory, kde vykonal 127 pridanie a 7 odobranie
  1. 3 0
      _LibreLightDesk.py
  2. 111 1
      lib/meta.py
  3. 5 1
      lib/showlib.py
  4. 8 5
      tkgui/draw.py

+ 3 - 0
_LibreLightDesk.py

@@ -798,6 +798,7 @@ def save_show(fpath=None,new=0):
     if fpath:
         a=EXEC.backup_exec(save_as=fpath,new=new)
         b=FIXTURES.backup_patch(save_as=fpath,new=new)
+        meta.save_meta(save_as=fpath,new=new)
         c=libwin.save_window_geo(save_as=fpath)
         d=movewin.store_all_sdl()
     else:
@@ -806,6 +807,7 @@ def save_show(fpath=None,new=0):
         cprint("SAVE SHOW ..",color="yellow")
         a=EXEC.backup_exec()
         b=FIXTURES.backup_patch()
+        meta.save_meta()
         c=libwin.save_window_geo() 
         d=movewin.store_all_sdl()
 
@@ -1779,6 +1781,7 @@ thread.start_new_thread(mc_api.mc_set_patch_loop,(FIXTURES,))
 def LOAD_SHOW():
     EXEC.load_exec()
     FIXTURES.load_patch()
+    meta.load_meta()
 LOAD_SHOW()
 
 master = MASTER()

+ 111 - 1
lib/meta.py

@@ -216,7 +216,8 @@ class ValueBuffer():
         return ValueBuffer_is(self.data)
     def format(self):
         return ValueBuffer_format(self.data)
-
+    def __repr__(self):
+        return "<ValueBuffer \tON:{} \tVAL:{}>".format(self._is(),self.val())
 
 def create_default_FadeBuffer():
     return ValueBuffer(val=2,_min=0,_max=20,_inc=0.1)  
@@ -226,6 +227,114 @@ def create_default_DelayBuffer():
     return ValueBuffer(val=50,_min=0,_max=200,_inc=5,cycle=[50]) #0.1,0.2,0.3,0.4,0.5])  
 
 
+
+def save_meta(save_as="",new=""):
+    global FADE,DELAY, ALIGN,FADE_move,FADE_move_delay
+    out = {}
+    v = FADE.val()
+    on = FADE._is()
+    out["1"] = {"NAME":"FADE","VAL":v,"ON":on}
+
+
+    v=FADE_move.val()
+    on=FADE_move._is()
+    out["4"] = {"NAME":"FADE_move","VAL":v,"ON":on}
+    
+    v=FADE_move_delay.val()
+    on=FADE_move_delay._is()
+    out["5"] = {"NAME":"FADE_move_delay","VAL":v,"ON":on}
+    
+    v=DELAY.val()
+    on=DELAY._is()
+    out["2"] = {"NAME":"DELAY","VAL":v,"ON":on}
+
+    v=ALIGN.val()
+    on=ALIGN._is()
+    out["3"] = {"NAME":"ALIGN","VAL":v,"ON":on}
+    
+
+    filename = "meta"
+    import lib.showlib as showlib
+    base = showlib.Base()
+    x =base._backup(filename,out,labels=[],save_as=save_as)
+
+    print(x)
+    print_meta()
+
+
+def print_meta():
+    global FADE,DELAY, ALIGN,FADE_move,FADE_move_delay
+
+    tmp = FADE
+    print(tmp) #,tmp.val(),tmp._is())
+    tmp = DELAY
+    print(tmp) #,tmp.val(),tmp._is())
+    tmp = ALIGN
+    print(tmp) #,tmp.val(),tmp._is())
+    tmp = FADE_move
+    print(tmp) #,tmp.val(),tmp._is())
+    tmp =  FADE_move_delay
+    print(tmp) #,tmp.val(),tmp._is())
+
+def load_meta(show_path=""):
+    global FADE,DELAY, ALIGN,FADE_move,FADE_move_delay
+    print("LOAD meta",show_path)
+    filename = "meta"
+    import lib.showlib as showlib
+    base = showlib.Base()
+    try:
+        x = base._load(filename)
+        #print(d,l)
+        #print(x)
+        lines = x[0]
+        for k in lines:
+            line = lines[k]
+            print(k,line)
+            try:
+                pass
+                tmp = None
+                ok = 0
+                if line["NAME"] == "FADE":
+                    tmp = FADE
+                    ok = 1
+                elif line["NAME"] == "DELAY":
+                    tmp = DELAY
+                    ok = 1
+                elif line["NAME"] == "ALIGN":
+                    tmp = ALIGN
+                    ok = 1
+                elif line["NAME"] == "FADE_move":
+                    tmp = FADE_move
+                    ok = 1
+                elif line["NAME"] == "FADE_move_delay":
+                    tmp =  FADE_move_delay
+                    ok = 1
+
+                if ok == 1:
+                    v  = line["VAL"]
+                    on = line["ON"]
+                    print(" - ", line["NAME"],v,on)
+                    tmp.val(v)
+                    tmp.off()
+                    if on != 0:
+                        tmp.on()
+
+            except Exception as e:
+                print("EXCEPTION 1 load_meta error",e)
+                #exit()
+    finally:pass
+    #except Exception as e:
+    #    print("EXCEPTION 2 load_meta error",e)
+
+    #exit()
+    # {"NAME":"FADE","VAL":12.3,"ON":0}
+
+    print_meta()
+
+
+
+
+
 FADE = create_default_FadeBuffer() 
 FADE.data["name"]   = "FADE"
 FADE.data["format"] = "FADE:\n{val:0.2f}"
@@ -377,6 +486,7 @@ fx_prm_move = {"SIZE":40,"SPEED":8,"OFFSET":100,"BASE":"0","START":0,"MODE":0,"M
 
 live_prm = Elem_Container()
 live_prm.labels = ["FADE","DELAY","PAN/TILT\nFADE","PAN/TILT\nDELAY","-","-"]
+live_prm.labels = ["LIVE1","LIVE2","LIVE3","LIVE4","LIVE5","LIVE6"]
 live_prm.labels = ["FADE","-","PAN/TILT\nFADE","-","DELAY","ALIGN"]
 
 #fx_color = {"A":"red","B":"blue"} 

+ 5 - 1
lib/showlib.py

@@ -210,6 +210,10 @@ class Base():
 
     def _load(self,filename):
         xpath = self.show_path+"/"+str(filename)+".sav"
+        if filename == "meta":
+            if not os.path.isfile(xpath):
+                return "",""
+            return _read_sav_file(xpath)
         if not os.path.isfile(xpath):
             msg = ""
             msg += "\n"*2
@@ -218,7 +222,7 @@ class Base():
             msg += xpath
             cprint(msg,color="red")
             r=tkinter.messagebox.showwarning(message=msg,title="123 Error",parent=None)
-            return
+            return "",""
         return _read_sav_file(xpath)
 
 

+ 8 - 5
tkgui/draw.py

@@ -679,28 +679,31 @@ def draw_live(gui,xframe,data):
     comms = MAIN.meta.live_prm.labels
 
     for comm in comms:
+        print(comm)
         if comm == "\n":
             c=0
             r+=1
             continue
         v=0
         b = tk.Button(frame,bg="lightgrey", text=str(comm),width=6,height=2)
-        
+        on = 0
         vb = None # ValueBuffer
         if "FADE" == comm:
             vb = MAIN.meta.FADE
-        if "DELAY" == comm:
+        elif "DELAY" == comm:
             vb= MAIN.meta.DELAY
-        if "PAN/TILT\nFADE" == comm:
+        elif "PAN/TILT\nFADE" == comm:
             vb = MAIN.meta.FADE_move
-        if "PAN/TILT\nDELAY" == comm:
+        elif "PAN/TILT\nDELAY" == comm:
             myTip = Hovertip(b,comm)
             vb = MAIN.meta.FADE_move_delay
 
         if vb:
             b["text"] = vb.format()
+            on = vb._is()
 
-        if "FADE" in comm:
+        #if "FADE" in comm:
+        if on:
             b["bg"] = "green"
             b.config(activebackground="lightgreen")