Explorar el Código

refactoring:show dir backup/load

micha hace 3 años
padre
commit
7ef5e230b6
Se han modificado 7 ficheros con 165 adiciones y 73 borrados
  1. 61 43
      Editor3.py
  2. 48 22
      console.py
  3. 0 0
      show/GloryCamp2021/patch.sav
  4. 48 0
      show/GloryCamp2021/presets.sav
  5. 0 0
      show/patch.sav
  6. 8 8
      show/preset.sav
  7. 0 0
      show/preset1.sav

+ 61 - 43
Editor3.py

@@ -45,6 +45,9 @@ root.option_add("*Font", Font)
 
 from collections import OrderedDict
 
+show_name = "GloryCamp2021"
+show_name = "GloryCamp2021"
+
 
 CUES    = OrderedDict()
 groups  = OrderedDict()
@@ -415,18 +418,15 @@ class Master():
         self.elem_commands = {}
         self.val_commands = {}
 
-        self.presets = OrderedDict()
         self.elem_presets = {}
-        self.val_presets = OrderedDict()
-        self.label_presets = OrderedDict()
-        x=self.load_presets()
+        self.load_presets()
         
         for i in range(8*6):
-            if i not in self.presets:
+            if i not in self.val_presets:
                 name = "Preset:"+str(i+1)+":\nXYZ"
-                self.presets[i] = [i]
+                #self.presets[i] = [i]
                 self.val_presets[i] = OrderedDict()
-                self.label_presets[i] = ""
+                self.label_presets[i] = "-"
         
     def load(self):
         fixture = OrderedDict()
@@ -491,22 +491,22 @@ class Master():
 
         fi = copy.deepcopy(fix3)
         fi["DMX"] = 330
-        fixture["2001"] = fi
+        #fixture["2001"] = fi
         fi = copy.deepcopy(fix3)
         fi["DMX"] = 335
-        fixture["2002"] = fi
+        #fixture["2002"] = fi
         fi = copy.deepcopy(fix3)
         fi["DMX"] = 240
-        fixture["2003"] = fi
+        #fixture["2003"] = fi
         fi = copy.deepcopy(fix3)
         fi["DMX"] = 245
-        fixture["2004"] = fi
+        #fixture["2004"] = fi
         fi = copy.deepcopy(fix3)
         fi["DMX"] = 250
-        fixture["2005"] = fi
+        #fixture["2005"] = fi
         fi = copy.deepcopy(fix3)
         fi["DMX"] = 355
-        fixture["2006"] = fi
+        #fixture["2006"] = fi
 
 
         
@@ -524,11 +524,11 @@ class Master():
 
         fi = copy.deepcopy(fixTMH)
         fi["DMX"] = 241
-        #fixture["2001"] = fi
+        fixture["3001"] = fi
 
         fi = copy.deepcopy(fixTMH)
         fi["DMX"] = 461
-        #fixture["2002"] = fi
+        fixture["3002"] = fi
 
          
         DATA = OrderedDict()
@@ -554,58 +554,76 @@ class Master():
 
         fi = copy.deepcopy(fixREUSH)
         fi["DMX"] = 220
-        fixture["702"] = fi
+        #fixture["702"] = fi
 
         fi = copy.deepcopy(fixREUSH)
         fi["DMX"] = 239
-        fixture["703"] = fi
+        #fixture["703"] = fi
 
         fi = copy.deepcopy(fixREUSH)
         fi["DMX"] = 258
-        fixture["704"] = fi
+        #fixture["704"] = fi
 
         fi = copy.deepcopy(fixREUSH)
         fi["DMX"] = 277
-        fixture["705"] = fi
+        #fixture["705"] = fi
 
         fi = copy.deepcopy(fixREUSH)
         fi["DMX"] = 296
-        fixture["706"] = fi
+        #fixture["706"] = fi
         
 
         
        
         self.fixtures = fixture
-
+        
+        
     def load_presets(self):
-        print("load_presets")
-        f = open("preset.sav","r")
+        filename="presets"
+        d,l = self._load(filename)
+        self.val_presets = d
+        self.label_presets = l
+        
+    def _load(self,filename):
+        xfname = "show/"+show_name+"/"+str(filename)+".sav"
+        print("load",xfname)
+        f = open(xfname,"r")
         lines = f.readlines()
         f.close()    
-        self.val_presets = OrderedDict()
-        self.presets = OrderedDict()
+        data   = OrderedDict()
+        labels = OrderedDict()
+        
         for line in lines:
-            
-            key,label,data = line.split("\t",2)
+            key,label,rdata = line.split("\t",2)
             key = int(key)
-            print("load_presets",key)
-            data = json.loads(data)
-            self.val_presets[key] = data
-            self.label_presets[key] = label
-            self.presets[key] = 0
-        return self.val_presets
+            print(xfname,"load",key,label)
+            jdata = json.loads(rdata,object_pairs_hook=OrderedDict)
+            
+            data[key] = jdata
+            labels[key] = label
+            
+        return data,labels
         
     def backup_presets(self):
-        print("backup_presets")
-        f = open("preset.sav","w")
-        for key in self.val_presets:
-            preset = self.val_presets[key]
-            label = ""#"Name-"+str(key)
-            if key in self.label_presets:
-                label = self.label_presets[key]
+        filename = "presets"
+        data   = self.val_presets
+        labels = self.label_presets
+        self._backup(filename,data,labels)
+        
+    def _backup(self,filename,data,labels):
+        #fixture
+        xfname = "show/"+show_name+"/"+str(filename)+".sav"
+        print("backup",xfname)
+        f = open(xfname,"w")
+        for key in data:
+            line = data[key]
+            label = "label" 
+            if key in labels:
+                label = labels[key]
             if label == "Name-"+str(key):
                 label = ""
-            f.write(str(key)+"\t"+label+"\t"+json.dumps(preset)+"\n")
+            print(xfname,"load",key,label,len(line))
+            f.write(str(key)+"\t"+label+"\t"+json.dumps(line)+"\n")
         f.close()
             
     def draw_dim(self,fix,data,c=0,r=0,frame=None):
@@ -761,12 +779,12 @@ 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.presets:
+        for k in self.val_presets:
             v=0
             label = ""
             if k in self.label_presets:
                 label = self.label_presets[k]
-                print(label)
+                print([label])
             b = tk.Button(frame,bg="grey", text="Preset:"+str(k)+"\n"+str(len(self.val_presets[k]))+":"+label,width=8,height=2)
             b.bind("<Button>",Xevent(fix=0,elem=b,attr=k,data=self,mode="PRESET").cb)
             

+ 48 - 22
console.py

@@ -47,9 +47,28 @@ def artnet_loop():
         artnet.next()
         time.sleep(0.01)
 
-thread.start_new_thread(artnet_loop,())
-def CB(data):
-    print("CB",data)
+class Main():
+    def __init__(self):
+        #artnet = ANN.ArtNetNode(to="127.0.0.1",port=6555,univ=12)
+        #artnet = ANN.ArtNetNode(to="127.0.0.1",port=6555,univ=0)
+        #artnet = ANN.ArtNetNode(to="2.0.0.255",univ=0)
+        #artnet = ANN.ArtNetNode(to="10.10.10.255",univ=1)
+        self.artnet = ANN.ArtNetNode(to="10.10.10.255",univ=0)
+        self.fx = {} # key is dmx address
+    def loop(self):
+        #dmx[205] = 255 #205 BLUE
+        self.artnet.dmx= dmx #[0]*512
+        self.artnet.send()
+        while 1:
+            #artnet._test_frame()
+            self.artnet.next()
+            time.sleep(0.01)
+
+main = Main()
+#thread.start_new_thread(artnet_loop,())
+thread.start_new_thread(main.loop,())
+
+def split_cmd(data):
     if "cmd" in data:
         cmd = data["cmd"]
         print("cmd",cmd)
@@ -57,24 +76,31 @@ def CB(data):
             cmds = cmd.split(",")
         else:
             cmds = [cmd]
-        
-        for xcmd in cmds:
-            if xcmd.startswith("d"):
-                xxcmd=xcmd[1:].split(":")
-                print("DMX:",xxcmd)
-                l = xxcmd
-                try:
-                    k=int(l[0])-1
-                    v=int(l[1])
-                    if v > 255:
-                        v = 255
-
-                    if len(dmx) > k:
-                        dmx[k] = v
-                except Exception as e:
-                    print("EXCEPTION IN DMX",e)
-
-
-chat.cmd(CB)
+    return cmds
+
+
+
+def CB(data):
+    print("CB",data)
+
+    cmds = split_cmd(data)
+    
+    for xcmd in cmds:
+        if xcmd.startswith("d"):
+            xxcmd=xcmd[1:].split(":")
+            print("DMX:",xxcmd)
+            l = xxcmd
+            try:
+                k=int(l[0])-1
+                v=int(l[1])
+                if v > 255:
+                    v = 255
+
+                if len(dmx) > k:
+                    dmx[k] = v
+            except Exception as e:
+                print("EXCEPTION IN DMX",e)
+
+chat.cmd(CB) # server listener
 
 input("END")

+ 0 - 0
show/GloryCamp2021/patch.sav


+ 48 - 0
show/GloryCamp2021/presets.sav

@@ -0,0 +1,48 @@
+0		{}
+1		{}
+2		{}
+3		{}
+4		{}
+5		{}
+6	XXX	{}
+7		{}
+8	XXX	{}
+9		{}
+10		{}
+11		{"3001": {"VDIM": 62.0, "PAN": 154.0, "TILT": 64.0, "RED": 57.0, "GREEN": 255.0, "BLUE": 159.0}}
+12		{"3001": {"VDIM": 62.0, "PAN": 154.0, "TILT": 64.0, "RED": 57.0, "GREEN": 255.0, "BLUE": 159.0}}
+13		{}
+14		{}
+15		{}
+16		{}
+17		{}
+18		{}
+19		{}
+20		{}
+21		{}
+22		{}
+23		{}
+24		{}
+25		{}
+26		{}
+27		{}
+28		{}
+29		{}
+30		{}
+31		{}
+32		{}
+33		{}
+34		{}
+35		{}
+36		{}
+37		{}
+38		{}
+39		{}
+40		{}
+41		{}
+42		{}
+43		{}
+44		{}
+45		{}
+46		{}
+47		{}

+ 0 - 0
show/patch.sav


+ 8 - 8
preset.sav → show/preset.sav

@@ -1,14 +1,14 @@
 0	D100%	{"701": {"DIM": 255.0}, "702": {"DIM": 255.0}, "703": {"DIM": 255.0}, "704": {"DIM": 255.0}, "705": {"DIM": 255.0}, "706": {"DIM": 255.0}}
 1	Z100%	{"2001": {"VDIM": 255.0}, "2002": {"VDIM": 255.0}, "2003": {"VDIM": 255.0}, "2004": {"VDIM": 255.0}, "2005": {"VDIM": 255.0}, "2006": {"VDIM": 255.0}}
-2	Red	{}
-3	Green	{}
+2	Red	{"701": {"COLOR": 5.0}, "702": {"COLOR": 5.0}, "703": {"COLOR": 5.0}, "704": {"COLOR": 5.0}, "705": {"COLOR": 5.0}, "706": {"COLOR": 5.0}}
+3	Green	{"701": {"COLOR": 10.0}, "702": {"COLOR": 10.0}, "703": {"COLOR": 10.0}, "704": {"COLOR": 10.0}, "705": {"COLOR": 10.0}, "706": {"COLOR": 10.0}}
 4	Blau	{}
 5	Cyan	{}
 6	Magenta	{}
-7	Yellow	{}
+7	Yellow	{"701": {"COLOR": 10.0}, "702": {"COLOR": 10.0}, "703": {"COLOR": 10.0}, "704": {"COLOR": 10.0}, "705": {"COLOR": 10.0}, "706": {"COLOR": 10.0}}
 8	D0%	{"701": {"DIM": 0.0}, "702": {"DIM": 0.0}, "703": {"DIM": 0.0}, "704": {"DIM": 0.0}, "705": {"DIM": 0.0}, "706": {"DIM": 0.0}}
 9	Z0%	{"2001": {"VDIM": 0.0}, "2002": {"VDIM": 0.0}, "2003": {"VDIM": 0.0}, "2004": {"VDIM": 0.0}, "2005": {"VDIM": 0.0}, "2006": {"VDIM": 0.0}}
-10	Weiß	{"2001": {"RED": 255.0, "GREEN": 255.0, "BLUE": 127.0}, "2002": {"RED": 255.0, "GREEN": 255.0, "BLUE": 127.0}, "2003": {"RED": 255.0, "GREEN": 255.0, "BLUE": 127.0}, "2004": {"RED": 255.0, "GREEN": 255.0, "BLUE": 127.0}, "2005": {"RED": 255.0, "GREEN": 255.0, "BLUE": 127.0}, "2006": {"RED": 255.0, "GREEN": 255.0, "BLUE": 127.0}}
+10	Weiß	{"701": {"COLOR": 0.0}, "702": {"COLOR": 0.0}, "703": {"COLOR": 0.0}, "704": {"COLOR": 0.0}, "705": {"COLOR": 0.0}, "706": {"COLOR": 0.0}}
 11		{}
 12		{}
 13		{}
@@ -22,10 +22,10 @@
 21		{}
 22		{}
 23	LAMP SAV	{"701": {"CONTROL": 255.0}, "702": {"CONTROL": 255.0}, "703": {"CONTROL": 255.0}, "704": {"CONTROL": 255.0}, "705": {"CONTROL": 255.0}, "706": {"CONTROL": 255.0}}
-24	Mitte	{"2001": {"PAN": 127.0, "TILT": 127.0}, "2002": {"PAN": 127.0, "TILT": 127.0}}
-25	Oben	{"701": {"PAN": 127.0, "TILT": 26.0}, "702": {"PAN": 127.0, "TILT": 26.0}, "703": {"PAN": 127.0, "TILT": 26.0}, "704": {"PAN": 127.0, "TILT": 26.0}, "705": {"PAN": 127.0, "TILT": 26.0}, "706": {"PAN": 127.0, "TILT": 26.0}}
-26	Ausen	{"701": {"PAN": 47.0, "TILT": 26.0}, "702": {"PAN": 47.0, "TILT": 26.0}, "703": {"PAN": 47.0, "TILT": 26.0}, "704": {"PAN": 47.0, "TILT": 26.0}, "705": {"PAN": 47.0, "TILT": 26.0}, "706": {"PAN": 47.0, "TILT": 26.0}}
-27	Innen	{"701": {"PAN": 191.0, "TILT": 26.0}, "702": {"PAN": 191.0, "TILT": 26.0}, "703": {"PAN": 191.0, "TILT": 26.0}, "704": {"PAN": 191.0, "TILT": 26.0}, "705": {"PAN": 191.0, "TILT": 26.0}, "706": {"PAN": 191.0, "TILT": 26.0}}
+24	Mitte	{"701": {"PAN": 57.0, "TILT": 64.0}, "702": {"PAN": 53.0, "TILT": 67.0}, "703": {"PAN": 113.0, "TILT": 67.0}, "704": {"PAN": 116.0, "TILT": 67.0}, "705": {"PAN": 175.0, "TILT": 13.0}, "706": {"PAN": 161.0, "TILT": 15.0}}
+25	Oben	{"701": {"PAN": 51.0, "TILT": 34.0}, "702": {"PAN": 47.0, "TILT": 30.0}, "703": {"PAN": 116.0, "TILT": 31.0}, "704": {"PAN": 118.0, "TILT": 31.0}, "705": {"PAN": 178.0, "TILT": 61.0}, "706": {"PAN": 161.0, "TILT": 63.0}}
+26	Ausen	{"701": {"COLOR": 10.0}, "702": {"COLOR": 10.0}, "703": {"COLOR": 10.0}, "704": {"COLOR": 10.0}, "705": {"COLOR": 10.0}, "706": {"COLOR": 10.0}}
+27	Innen	{"701": {"COLOR": 10.0}, "702": {"COLOR": 10.0}, "703": {"COLOR": 10.0}, "704": {"COLOR": 10.0}, "705": {"COLOR": 10.0}, "706": {"COLOR": 10.0}}
 28	XXX	{}
 29	WWW	{}
 30	VVV	{}

+ 0 - 0
preset1.sav → show/preset1.sav