| 
					
				 | 
			
			
				@@ -1347,7 +1347,7 @@ def save_window_position_loop(): # like autosave 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             print("save_loop",e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     thread.start_new_thread(loop,()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def load_window_position(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def load_window_position(_filter=""): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         base = Base() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fname = "/home/user/LibreLight" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1366,15 +1366,20 @@ def load_window_position(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if not win: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 continue 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if k in data: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                cprint("set_win_pos",k) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     #print("> ",[k,data[k]]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    win.tk.geometry(data[k]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if _filter: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if _filter == k: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            win.tk.geometry(data[k]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        win.tk.geometry(data[k]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    cprint("load_window_position Exception:",e,color="red") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    cprint("load_window_position 544 Exception:",e,color="red") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #print("winfo",k,win.tk.geometry()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         f.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cprint("load_window_position Exception:",e,color="red") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cprint("load_window_position 345 Exception:",e,color="red") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class Xevent(): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2584,7 +2589,9 @@ class PopupList(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.cb = cb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if cb is None:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cb = DummyCallback #("load_show_list.cb") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        w = Window(self.name,master=master,width=width,height=height,exit=exit,left=left,top=top,cb=cb) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #w = Window(self.name,master=master,width=width,height=height,exit=exit,left=left,top=top,cb=cb) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        args = {"title":self.name,"master":master,"width":width,"height":height,"exit":exit,"left":left,"top":top,"cb":cb} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.w = w 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         w.show() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def sframe(self,line1="<line1>",line2="<line2>",data=[]): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3565,17 +3572,25 @@ from tkinter import PhotoImage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _shift_key = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class Window(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def __init__(self,title="tilte",master=0,width=100,height=100,left=None,top=None,exit=0,cb=None,resize=1): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def __init__(self,args): #title="title",master=0,width=100,height=100,left=None,top=None,exit=0,cb=None,resize=1): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #def __init__(self,title="title",master=0,width=100,height=100,left=None,top=None,exit=0,cb=None,resize=1): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.args = {"title":"title","master":0,"width":100,"height":100,"left":None,"top":None,"exit":0,"cb":None,"resize":1} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.args.update(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #for k,v in args.items(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #    #print(k,v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #    self.__setattr__(k,v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         global lf_nr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         #ico_path="/opt/LibreLight/Xdesk/icon/" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ico_path="./icon/" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.cb = cb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if master:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if self.args["master"]:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.tk = tkinter.Tk() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.tk.protocol("WM_DELETE_WINDOW", self.close_app_win) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.tk.withdraw() # do not draw 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            self.tk.resizable(resize,resize) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.tk.resizable(self.args["resize"],self.args["resize"]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             defaultFont = tkinter.font.nametofont("TkDefaultFont") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             print(defaultFont) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             defaultFont.configure(family="FreeSans", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3593,21 +3608,21 @@ class Window(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.tk.iconify() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #self.tk.withdraw() # do not draw 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.tk.protocol("WM_DELETE_WINDOW", self.close_app_win) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            self.tk.resizable(resize,resize) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.tk.resizable(self.args["resize"],self.args["resize"]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if "COLORPICKER" in title: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if "COLORPICKER" in self.args["title"]: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     self.tk.iconphoto(False, tk.PhotoImage(file=ico_path+"picker.png")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                elif "ENCODER" in title: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                elif "ENCODER" in self.args["title"]: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     self.tk.iconphoto(False, tk.PhotoImage(file=ico_path+"enc.png")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                elif "EXEC" in title: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                elif "EXEC" in self.args["title"]: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     self.tk.iconphoto(False, tk.PhotoImage(file=ico_path+"exec.png")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                elif "FX" in title: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                elif "FX" in self.args["title"]: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     self.tk.iconphoto(False, tk.PhotoImage(file=ico_path+"fx.png")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     self.tk.iconphoto(False, tk.PhotoImage(file=ico_path+"scribble.png")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                print("Exception on load window icon",title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                print("Exception on load window icon",self.args["title"]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 print("Exception:",e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #time.sleep(3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.tk.deiconify() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3618,14 +3633,14 @@ class Window(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.tk.bind("<Button>",self.callback) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.tk.bind("<Key>",self.callback) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.tk.bind("<KeyRelease>",self.callback) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        self.tk.title(""+str(title)+" "+str(lf_nr)+":"+str(rnd_id)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.tk.title(""+str(self.args["title"])+" "+str(lf_nr)+":"+str(rnd_id)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         lf_nr+=1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         #self.tk.geometry("270x600+0+65") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        geo ="{}x{}".format(width,height) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if left is not None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            geo += "+{}".format(left) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if top is not None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                geo += "+{}".format(top) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        geo ="{}x{}".format(self.args["width"],self.args["height"]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if self.args["left"] is not None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            geo += "+{}".format(self.args["left"]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if self.args["top"] is not None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                geo += "+{}".format(self.args["top"]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         #self._event_clear = Xevent(fix=0,elem=None,attr="CLEAR",data=self,mode="ROOT").cb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.tk.geometry(geo) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3637,7 +3652,8 @@ class Window(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def close_app_win(self,event=None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         print("close_app_win",self,event) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if exit: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            save_window_position() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if self.title == "MAIN": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               save_window_position() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.tk.destroy() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.cb("<exit>").cb() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3932,6 +3948,33 @@ def loops(**args): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     thread.start_new_thread(refresher_fix.loop,()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     thread.start_new_thread(refresher_exec.loop,()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def create_EXEC_WING(args={}):#name,master=0,width=600,height=415,left=0,top=0,H1=100,W1=100): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=730,height=205,left=L1-80,top=TOP+H1-200) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=600,height=415,left=L1,top=TOP+H1+HTB*2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=master,width=width,height=height,left=left,top=top) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #args = {"title":name,"master":master,"width":width,"height":height,"left":left,"top":top} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w1 = ScrollFrame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w1 = tk.Frame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w1.pack() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    data=[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for i in range(10*3): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data.append({"EXEC"+str(i):"EXEC"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    obj=GUI_ExecWingLayout(w1,data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    window_manager.new(w,name,obj) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return w,name,obj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class create_buffer(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def __init__(self,cb,args={}): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.args = args 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.cb= cb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def create(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cprint() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cprint(self,"create",self.args["title"],color="green") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        r = self.cb(args=self.args)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #self.name,self.master,self.width,self.height,self.left,self.top,self.H1,self.W1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return r 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if __run_main: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     print("main") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #thread.start_new_thread(refresher_fix.loop,()) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3947,7 +3990,9 @@ if __run_main: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     HTB = 23 # hight of the titlebar from window manager 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #w = Window("MAIN",master=1,width=95,height=H1//2,left=L0,top=TOP,resize=0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window("MAIN",master=1,width=100,height=H1,left=L0,top=TOP,resize=1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":"MAIN","master":1,"width":100,"height":H1,"left":L0,"top":TOP,"resize":1} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window("MAIN",master=1,width=100,height=H1,left=L0,top=TOP,resize=1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     gui_menu_gui = w 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     data = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #data.append({"text":"COMMAND"}) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3970,7 +4015,9 @@ if __run_main: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="EXEC" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":W1,"height":H1,"left":L1,"top":TOP} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     w1 = ScrollFrame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #frame_exe = w.tk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #draw_preset(master,w1)#w.tk) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3979,20 +4026,26 @@ if __run_main: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="CONFIG" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":W1,"height":H1,"left":L1,"top":TOP} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #w1 = ScrollFrame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #frame_exe = w.tk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #draw_preset(master,w1)#w.tk) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #window_manager.new(w,name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="DIMMER" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":W1,"height":H1,"left":L1,"top":TOP} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     w2 = ScrollFrame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #frame_dim = w1 # w.tk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #master.draw_dim(w1.tk) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window_manager.new(w,name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="FIXTURES" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":W1,"height":H1,"left":L1,"top":TOP} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     w1 = ScrollFrame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #frame_fix = w1 #w.tk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #draw_fix(master,w1,w2)#.tk) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4002,7 +4055,9 @@ if __run_main: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="FIXTURE-EDITOR" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":W1,"height":H1,"left":L1,"top":TOP} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     w1 = ScrollFrame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     data=[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for i in range((24+12)*15): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4012,7 +4067,9 @@ if __run_main: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="MASTER-WING" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #w = Window(name,master=0,width=730,height=205,left=L1-80,top=TOP+H1-200) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=75,height=405,left=L0,top=TOP+H1-220) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=75,height=405,left=L0,top=TOP+H1-220) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":75,"height":405,"left":L0,"top":TOP+H1-220} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #w1 = ScrollFrame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     w1 = tk.Frame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     w1.pack() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4023,20 +4080,16 @@ if __run_main: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window_manager.new(w,name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="EXEC-WING" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    #w = Window(name,master=0,width=730,height=205,left=L1-80,top=TOP+H1-200) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=600,height=415,left=L1,top=TOP+H1+HTB*2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    #w1 = ScrollFrame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w1 = tk.Frame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w1.pack() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    data=[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    for i in range(10*3): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        data.append({"EXEC"+str(i):"EXEC"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    obj=GUI_ExecWingLayout(w1,data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    window_manager.new(w,name,obj) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #create_EXEC_WING(name,master=0,width=600,height=415,left=L1,top=TOP+H1+HTB*2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":600,"height":415,"left":L1,"top":TOP+H1+HTB*2,"H1":H1,"W1":W1} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    c = create_buffer(create_EXEC_WING,args)#name,master=0,width=600,height=415,left=L1,top=TOP+H1+HTB*2,H1=H1,W1=W1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    c.create() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    create_buffer_fader_wing = c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="ENCODER" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=620,height=113,left=L0+710,top=TOP+H1+15+HTB*2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=620,height=113,left=L0+710,top=TOP+H1+15+HTB*2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":620,"height":113,"left":L0+710,"top":TOP+H1+15+HTB*2} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     _ENCODER_WINDOW = w 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     draw_enc(master,w.tk)#Xroot) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window_manager.new(w,name) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4047,35 +4100,47 @@ if __run_main: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #draw_enc(master,w.tk)#Xroot) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name = "SETUP" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=415,height=42,left=L1+10+W1,top=TOP,resize=0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=415,height=42,left=L1+10+W1,top=TOP,resize=0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":415,"height":42,"left":L1+10+W1,"top":TOP,"resize":0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     w.tk.title("SETUP   SHOW:"+master.base.show_name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     draw_setup(master,w.tk) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window_manager.new(w,name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name = "COMMAND" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=415,height=130,left=L1+10+W1,top=TOP+81,resize=0)#+96) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":415,"height":130,"left":L1+10+W1,"top":TOP+81,"resize":0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=415,height=130,left=L1+10+W1,top=TOP+81,resize=0)#+96) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     draw_command(master,w.tk) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window_manager.new(w,name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name = "LIVE" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=415,height=42,left=L1+10+W1,top=TOP+235,resize=0)#250) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=415,height=42,left=L1+10+W1,top=TOP+235,resize=0)#250) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":415,"height":42,"left":L1+10+W1,"top":TOP+235,"resize":0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     draw_live(master,w.tk) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window_manager.new(w,name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name = "CLOCK" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=335,height=102,left=L1+10+W1+80,top=TOP+H1+HTB+160,resize=0)#250) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=335,height=102,left=L1+10+W1+80,top=TOP+H1+HTB+160,resize=0)#250) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":335,"height":102,"left":L1+10+W1+80,"top":TOP+H1+HTB+160,"resize":0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     draw_clock(master,w.tk) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window_manager.new(w,name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="FX" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=415,height=297,left=L1+10+W1,top=TOP+302,resize=0)#317) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=415,height=297,left=L1+10+W1,top=TOP+302,resize=0)#317) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":415,"height":297,"left":L1+10+W1,"top":TOP+302,"resize":0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #frame_fx = w.tk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     draw_fx(master,w.tk) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window_manager.new(w,name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="PATCH" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=W1,height=H1,left=L1,top=TOP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":W1,"height":H1,"left":L1,"top":TOP} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     w1 = ScrollFrame(w.tk,width=W1,height=H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     main_preset_frame = w1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     gui_patch = GUI_PATCH(master,main_preset_frame) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4084,7 +4149,9 @@ if __run_main: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #LibreLightDesk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name="COLORPICKER" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    w = Window(name,master=0,width=600,height=113,left=L1+5,top=TOP+5+HTB*2+H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #w = Window(name,master=0,width=600,height=113,left=L1+5,top=TOP+5+HTB*2+H1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args = {"title":name,"master":0,"width":600,"height":113,"left":L1+5,"top":TOP+5+HTB*2+H1} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = Window(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     draw_colorpicker(master,w.tk,FIXTURES,master) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window_manager.new(w,name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |