فهرست منبع

add: STORE,CLEAR

micha 3 سال پیش
والد
کامیت
5b0f428066
1فایلهای تغییر یافته به همراه52 افزوده شده و 98 حذف شده
  1. 52 98
      Editor2.py

+ 52 - 98
Editor2.py

@@ -47,6 +47,7 @@ CUES    = OrderedDict()
 groups  = OrderedDict()
 
 BLIND = 0
+STORE = 0
 POS   = ["PAN","TILT","MOTION"]
 COLOR = ["RED","GREEN","BLUE","COLOR"]
 BEAM  = ["GOBO","G-ROT","PRISMA","P-ROT","FOCUS","SPEED"]
@@ -140,31 +141,55 @@ class Xevent():
             
             change = 0
             if self.mode == "COMMAND":
-                
+                global STORE
+                global BLIND
                 if self.attr == "CLEAR":
                     if event.num == 1:
-                        for fix in self.data.fixtures:
-                            print( "clr",fix)
-                            data = self.data.fixtures[fix]
-                            #print("elm",self.data.elem_attr[fix])
-                            for attr in data["ATTRIBUT"]:
-                                if attr.endswith("-FINE"):
-                                    continue
-                                self.data.elem_attr[fix][attr]["bg"] = "grey"
-                                data["ATTRIBUT"][attr]["ACTIVE"] = 0
-                            #print(data["ATTRIBUT"])
+
+                        if STORE:
+                            self.data.val_commands["STORE"] = 0
+                            STORE = 0
+                            self.data.elem_commands["STORE"]["bg"] = "white"
+
+                        else: 
+                            for fix in self.data.fixtures:
+                                print( "clr",fix)
+                                data = self.data.fixtures[fix]
+                                #print("elm",self.data.elem_attr[fix])
+                                for attr in data["ATTRIBUT"]:
+                                    if attr.endswith("-FINE"):
+                                        continue
+                                    self.data.elem_attr[fix][attr]["bg"] = "grey"
+                                    data["ATTRIBUT"][attr]["ACTIVE"] = 0
+                                #print(data["ATTRIBUT"])
+
+                        
                 if self.attr == "BLIND":
-                    global BLIND
+                    
                     if event.num == 1:
                         
                         if self.data.val_commands[self.attr]:
                             self.data.val_commands[self.attr] = 0
                             BLIND = 0
-                            self.data.elem_command[self.attr]["bg"] = "green"
+                            self.data.elem_commands[self.attr]["bg"] = "white"
                         else:
                             self.data.val_commands[self.attr] = 1
                             BLIND = 1
-                            self.data.elem_command[self.attr]["bg"] = "red"
+                            self.data.elem_commands[self.attr]["bg"] = "red"
+                        print("BLIND",self.data.val_commands)
+
+                if self.attr == "STORE":
+                    
+                    if event.num == 1:
+                        
+                        if self.data.val_commands[self.attr]:
+                            self.data.val_commands[self.attr] = 0
+                            STORE = 0
+                            self.data.elem_commands[self.attr]["bg"] = "white"
+                        else:
+                            self.data.val_commands[self.attr] = 1
+                            STORE = 1
+                            self.data.elem_commands[self.attr]["bg"] = "red"
                         print("BLIND",self.data.val_commands)
                         
                 return 0
@@ -233,9 +258,15 @@ class Master():
         self.load()
         self.all_attr =[]
         self.elem_attr = {}
+        
         self.commands =["BLIND","CLEAR","STORE"]
-        self.elem_command = {}
+        self.elem_commands = {}
         self.val_commands = {}
+
+        self.presets = OrderedDict()
+        self.elem_presets = {}
+        for i in range(8*6):
+            self.presets["Preset"+str(i)] = [1]
         
     def load(self):
         fixture = OrderedDict()
@@ -252,7 +283,7 @@ class Master():
         DATA["RED"]   = {"NR": 2, "MASTER": "1", "MODE": "F", "VALUE": 255.0,"ACTIVE":0}
         DATA["GREEN"] = {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 255.0,"ACTIVE":0}
         DATA["BLUE"]  = {"NR": 0, "MASTER": "1", "MODE": "F", "VALUE": 127.0,"ACTIVE":0}
-        fix3 = {"DMX": 20, "UNIVERS": 2, "NAME": "VRGB", "ATTRIBUT": DATA}
+        fix3 = {"DMX": 20, "UNIVERS": 2, "NAME": "V+RGB", "ATTRIBUT": DATA}
 
         DATA = OrderedDict()
         DATA["DIM-FINE"]  = {"NR": 8, "MASTER": "", "MODE": "F", "VALUE": 5.0,"ACTIVE":0}
@@ -397,8 +428,8 @@ class Master():
             v=0
             
             b = tk.Button(frame,bg="white", text=str(comm),width=10)
-            if comm not in self.elem_command:
-                self.elem_command[comm] = b
+            if comm not in self.elem_commands:
+                self.elem_commands[comm] = b
                 self.val_commands[comm] = 0
             b.bind("<Button>",Xevent(elem=b,attr=comm,data=self,mode="COMMAND").cb)
             b.grid(row=r, column=c, sticky=tk.W+tk.E)
@@ -424,9 +455,9 @@ class Master():
         #b.bind("<Button>",Xevent(elem=b).cb)
         b.grid(row=r, column=c, sticky=tk.W+tk.E)
         r+=1      
-        for k in self.commands:
+        for k in self.presets:
             v=0
-            b = tk.Button(frame,bg="white", text=str(k))
+            b = tk.Button(frame,bg="white", text=str(k),height=2)
             b.bind("<Button>",Xevent(elem=b,attr=k,data=self,mode="COMMAND").cb)
             b.grid(row=r, column=c, sticky=tk.W+tk.E)
             c+=1
@@ -440,6 +471,7 @@ class Master():
             self.draw_fix(fix,data)
         self.draw_enc()
         self.draw_command()
+        self.draw_preset()
 
 master =Master()
 master.render()
@@ -448,81 +480,3 @@ master.render()
 root.mainloop()
 
     
-sys.exit()
-
-cmd = ["BLIND",]
-frame = tk.Frame(root,bg="black")
-frame.pack(fill=tk.X, side=tk.TOP)
-data = []
-i=0
-for r in range(3):
-    frame.columnconfigure(r, weight=1)
-    cd = []
-    for c in range(8):
-        i+=1
-        frame.columnconfigure(c, weight=1)
-        b = tk.Button(frame,bg="red", text='MH'+str(i)+' r:'+str(r+1)+' c:'+str(c+1))
-        b.bind("<Button>",Xevent(o=b).cb)
-        b.grid(row=r, column=c, sticky=tk.W+tk.E)
-        cd.append(b)
-
-
-
-
-#fixture.append(fix)
-frame = tk.Frame(root,bg="black")
-frame.pack(fill=tk.X, side=tk.TOP)
-data = []
-i=0
-for r in range(3):
-    frame.columnconfigure(r, weight=1)
-    cd = []
-    for c in range(8):
-        i+=1
-        frame.columnconfigure(c, weight=1)
-        b = tk.Button(frame,bg="red", text='MH'+str(i)+' r:'+str(r+1)+' c:'+str(c+1))
-        b.bind("<Button>",wheel)
-        b.grid(row=r, column=c, sticky=tk.W+tk.E)
-        cd.append(b)
-
-frame = tk.Frame(root,bg="black")
-frame.pack(fill=tk.X, side=tk.TOP)
-data = []
-i=0
-for c in range(8):
-    frame.columnconfigure(c, weight=1)
-    cd = []
-    for r in range(3):
-        i+=1
-        frame.columnconfigure(r, weight=1)
-        b = tk.Button(frame,bg="green", text='PAN'+str(i)+' r:'+str(r+1)+' c:'+str(c+1))
-        b.grid(row=r, column=c, sticky=tk.W+tk.E)
-        cd.append(b)
-
-
-frame = tk.Frame(root,bg="black")
-frame.pack(fill=tk.X, side=tk.TOP)
-data = []
-for c in range(10):
-    frame.columnconfigure(c, weight=1)
-    cd = []
-    for r in range(10):
-        frame.columnconfigure(r, weight=1)
-        b = tk.Button(frame, text='r:'+str(r+1)+' c:'+str(c+1))
-        b.grid(row=r, column=c, sticky=tk.W+tk.E)
-        cd.append(b)
-
-
-frame = tk.Frame(root,bg="black")
-frame.pack(fill=tk.X, side=tk.TOP)
-data = []
-for c in range(3):
-    frame.columnconfigure(c, weight=1)
-    cd = []
-    for r in range(3):
-        frame.columnconfigure(r, weight=1)
-        b = tk.Button(frame,bg="grey", text='r:'+str(r+1)+' c:'+str(c+1))
-        b.grid(row=r, column=c, sticky=tk.W+tk.E)
-        cd.append(b)        
-
-root.mainloop()