Prechádzať zdrojové kódy

refactor: MOVE,COPY,DEL

micha 3 rokov pred
rodič
commit
a07eb62908
4 zmenil súbory, kde vykonal 363 pridanie a 209 odobranie
  1. 256 106
      _LibreLightDesk.py
  2. 4 0
      lib/colorpicker.py
  3. 93 93
      show/GloryCamp2021/patch.sav
  4. 10 10
      show/GloryCamp2021/presets.sav

+ 256 - 106
_LibreLightDesk.py

@@ -96,6 +96,10 @@ class Modes():
         elif mode == "ESC":
             for m in self.modes:
                 print("ESC",m)
+                if m == "COPY":
+                    PRESETS.clear_copy()
+                if m == "MOVE":
+                    PRESETS.clear_move()
                 if m != "BLIND":
                     self.modes[m] = 0
                     self.callback(m)
@@ -108,12 +112,20 @@ class Modes():
                         self.modes[m]= 0
                         self.callback(m)
             if self.modes[mode]:
+                if modes == "MOVE":
+                    PRESETS.clear_move()
+                if modes == "COPY":
+                    PRESETS.clear_copy()
                 self.modes[mode] = 0 # value
             else:
                 self.modes[mode] = 1 #value
             out = 1
         else:
             self.modes[mode] = 0 #value
+            if modes == "COPY":
+                PRESETS.clear_copy()
+            if modes == "MOVE":
+                PRESETS.clear_move()
         self.callback(mode)
         return value
     def set_cb(self,cb):
@@ -132,9 +144,10 @@ modes.modes["STORE"] = 0
 modes.modes["EDIT"] = 0
 modes.modes["MOVE"] = 0
 modes.modes["FLASH"] = 0
+modes.modes["GO"] = 0
+modes.modes["DEL"] = 0
 modes.modes["STONY_FX"] = 0
 modes.modes["SELECT"] = 0
-modes.modes["ACTIVATE"] = 0
 modes.modes["CFG-BTN"] = 0
 modes.modes["LABEL"] = 0
 
@@ -633,16 +646,30 @@ class Xevent():
                         if modes.val("STORE"):
                             self.data.preset_store(nr)
                             modes.val("STORE",0)
+                        elif modes.val("DEL"):
+                            ok=PRESETS.delete(nr)
+                            if ok:
+                                modes.val("DEL",0)
+                        elif modes.val("COPY"):
+                            ok=PRESETS.copy(nr)
+                            if ok:
+                                modes.val("COPY",0)
+                                master.refresh_exec()
+                        elif modes.val("MOVE"):
+                            ok=PRESETS.move(nr)
+                            if ok:
+                                modes.val("MOVE",0)
+                                master.refresh_exec()
                         elif modes.val("CFG-BTN"):
                             master.btn_cfg(nr)
 
                         elif modes.val("LABEL"):#else:
                             master.label(nr)
 
-                        elif modes.val("ACTIVATE"):
+                        elif modes.val("EDIT"):
                             self.data.preset_select(nr)
                             self.data.preset_go(nr,xfade=0,event=event,val=255)
-                            modes.val("ACTIVATE", 0)
+                            modes.val("EDIT", 0)
                             self.data.elem_commands["ACTIVATE"]["bg"] = "lightgrey"
                         elif modes.val("SELECT"):
                             self.data.preset_select(nr)
@@ -660,16 +687,18 @@ class Xevent():
             elif self.mode == "INPUT":
                 return 0
             if self.mode == "ENCODER":
-                action=""
+                cprint("ENC",self.fix,self.attr,self.mode)
+                cprint(self.data)
+                val=""
                 if event.num == 1:
-                    action="click"
+                    val ="click"
                 elif event.num == 4:
-                    action="+"
+                    val ="+"
                 elif event.num == 5:
-                    action="-"
+                    val ="-"
 
-                if action:
-                    FIXTURES.encoder(fix=self.fix,attr=self.attr,action=action)
+                if val:
+                    FIXTURES.encoder(fix=self.fix,attr=self.attr,xval=val)
                     
                 master.refresh_fix()
 
@@ -796,6 +825,7 @@ class GUI(Base):
     def __init__(self):
         super().__init__() 
         self.load()
+        self._XX = 0
 
         self.all_attr =["DIM","PAN","TILT"]
         self.elem_attr = {}
@@ -805,8 +835,8 @@ class GUI(Base):
                 ,"SZ:","SP:","ST:","OF:","BS:-","\n"
                 , "FX:SIN","FX:COS","FX:BUM","FX:BUM2","FX:FD","FX:ON","FX:ON2" ]
         self.commands =["\n","ESC","CFG-BTN","LABEL","BACKUP","\n"
-                ,"SET","SELECT","ACTIVATE","FLASH","FADE","\n"
-                ,"BLIND","CLEAR","STORE","EDIT","MOVE","\n" 
+                "SELECT","FLASH","GO","FADE","MOVE","DEL","\n"
+                ,"BLIND","CLEAR","STORE","EDIT","COPY","\n" 
                 ]
         self.elem_fx_commands = {}
         self.val_fx_commands = {}
@@ -864,6 +894,65 @@ class GUI(Base):
         print("********************************************************")
         FIXTURES.backup_patch()
         print("*********del",self,"***********************************************")
+    def refresh_exec(self):
+        cprint("PRESET.refresh_exec()")
+        
+        self._XX +=1
+        for k in PRESETS.val_presets: 
+            label = ""
+
+            if k not in self.elem_presets:
+                cprint("ERROR",k ,"not in elem_presets continue")
+                continue
+            if k in PRESETS.label_presets:
+                label = PRESETS.label_presets[k]
+                #print([label])
+            b = self.elem_presets[k]
+
+            if k in PRESETS.val_presets and len(PRESETS.val_presets[k]) :
+                sdata = PRESETS.val_presets[k]
+                BTN="go"
+                if "CFG" in sdata:#["BUTTON"] = "GO"
+                    if "BUTTON" in sdata["CFG"]:
+                        BTN = sdata["CFG"]["BUTTON"]
+                txt=str(k)+":"+str(BTN)+":"+str(len(sdata)-1)+"\n"+label
+                txt+=str(self._XX)
+                b["text"] = txt
+                b["bg"] = "yellow"
+                if len(sdata) > 1:
+                    fx_color = 0
+                    val_color = 0
+                    for fix in sdata:
+                        if fix == "CFG":
+                            continue
+                        #print( "$$$$",fix,sdata[fix])
+                        for attr in sdata[fix]:
+                            if "FX" in sdata[fix][attr]:
+                                if sdata[fix][attr]["FX"]:
+                                    fx_color = 1
+                            if "VALUE" in sdata[fix][attr]:
+                                if sdata[fix][attr]["VALUE"] is not None:
+                                    val_color = 1
+
+                    b["fg"] = "black"
+                    if val_color:
+                        b["bg"] = "gold"
+                        if fx_color:
+                            b["fg"] = "blue"
+                    else:   
+                        if fx_color:
+                            b["bg"] = "cyan"
+                else:
+                    b["bg"] = "grey"
+            if "SEL" in txt:
+                b["fg"] = "black"
+                b["bg"] = "blue"
+            elif "GO" in txt:
+                b["fg"] = "black"
+            elif "FL" in txt:
+                b["fg"] = "red"
+
+
     def refresh_fix(self):
         for fix in FIXTURES.fixtures:                            
             sdata = FIXTURES.fixtures[fix]                            
@@ -900,6 +989,8 @@ class GUI(Base):
         
         sdata=data
         PRESETS.val_presets[nr] = sdata
+
+
         if len(sdata) > 1:
             fx_color = 0
             val_color = 0
@@ -957,20 +1048,21 @@ class GUI(Base):
                     FIXTURES.fixtures[fix]["ATTRIBUT"][attr]["ACTIVE"] = 1
                     elem["bg"] = "yellow"
     def preset_go(self,nr,val=None,xfade=fade,event=None):
-        print("GO PRESET FADE",nr)
+        print("GO PRESET FADE",nr,val)
 
         rdata = PRESETS.get_raw_map(nr)
         cfg   = PRESETS.get_cfg(nr)
         fcmd  = FIXTURES.update_raw(rdata)
         #virtcmd  = FIXTURES.get_virtual(rdata)
-
+        if not cfg:
+            cprint("NO CFG",cfg,nr)
+            return 0
 
         xFLASH = 0
         value=None
-        #xfade = fade
+        cprint(nr,cfg)
         if modes.val("SELECT") or ( "BUTTON" in cfg and cfg["BUTTON"] == "SEL") and val: #FLASH
             self.preset_select(nr)
-            return 0
         elif modes.val("FLASH") or ( "BUTTON" in cfg and cfg["BUTTON"] == "FL"): #FLASH
             xFLASH = 1
             xfade = 0
@@ -981,11 +1073,19 @@ class GUI(Base):
                     # 4 fix vor ThinkPad / Debian 11
                     if xFLASH:
                         value = "off"
+
             cprint("preset_go() FLUSH",value,color="red")
+            self._preset_go(rdata,cfg,fcmd,value,xfade=xfade,xFLASH=xFLASH)
+                
         elif not val:
             cprint("preset_go() STOP",value,color="red")
-            return 0
+        elif modes.val("GO") or ( "BUTTON" in cfg and cfg["BUTTON"] in ["go","GO"]): 
+            self._preset_go(rdata,cfg,fcmd,value,xfade=xfade,xFLASH=xFLASH)
 
+        self.refresh_exec()
+
+    def _preset_go(self,rdata,cfg,fcmd,value,xfade=fade,event=None,xFLASH=0):
+        cprint("PRESETS._preset_go()",len(rdata))
         vvcmd = update_raw_dmx( rdata ,value,[xfade] ) 
         fxcmd = update_raw_dmx( rdata ,value,[xfade],fx=1) 
 
@@ -1011,7 +1111,6 @@ class GUI(Base):
         if cmd and not modes.val("BLIND"):
             client.send(cmd )
         
-        self.refresh_fix()
 
         
     def draw_sub_dim(self,fix,data,c=0,r=0,frame=None):
@@ -1357,50 +1456,14 @@ class GUI(Base):
             b.bind("<Button>",Xevent(fix=0,elem=b,attr=k,data=self,mode="PRESET").cb)
             b.bind("<ButtonRelease>",Xevent(fix=0,elem=b,attr=k,data=self,mode="PRESET").cb)
             
-            if k in PRESETS.val_presets and len(PRESETS.val_presets[k]) :
-                b["bg"] = "yellow"
-                sdata = PRESETS.val_presets[k]
-                if len(sdata) > 1:
-                    fx_color = 0
-                    val_color = 0
-                    for fix in sdata:
-                        if fix == "CFG":
-                            continue
-                        #print( "$$$$",fix,sdata[fix])
-                        for attr in sdata[fix]:
-                            if "FX" in sdata[fix][attr]:
-                                if sdata[fix][attr]["FX"]:
-                                    fx_color = 1
-                            if "VALUE" in sdata[fix][attr]:
-                                if sdata[fix][attr]["VALUE"] is not None:
-                                    val_color = 1
-
-                    b["fg"] = "black"
-                    if val_color:
-                        b["bg"] = "gold"
-                        if fx_color:
-                            b["fg"] = "blue"
-                    else:   
-                        if fx_color:
-                            b["bg"] = "cyan"
-                else:
-                    b["bg"] = "grey"
-            if "SEL" in txt:
-                b["fg"] = "black"
-                b["bg"] = "blue"
-            elif "GO" in txt:
-                b["fg"] = "black"
-            elif "FL" in txt:
-                b["fg"] = "red"
-
             if k not in self.elem_presets:
                 self.elem_presets[k] = b
-                #PRESETS.val_presets[preset] = 0
             b.grid(row=r, column=c, sticky=tk.W+tk.E)
             c+=1
             if c >=8:
                 c=0
                 r+=1
+        self.refresh_exec()
     def draw_input(self):
         i=0
         c=0
@@ -1442,10 +1505,6 @@ class GUI(Base):
     def draw_colorpicker(self,xframe):
         import lib.colorpicker as colp
 
-        e = dummy_event()
-        r = Xevent(fix=0,elem=None,attr="RED",data=self,mode="ENCODER") #.cb
-        g = Xevent(fix=0,elem=None,attr="GREEN",data=self,mode="ENCODER") #.cb
-        b = Xevent(fix=0,elem=None,attr="BLUE",data=self,mode="ENCODER") #.cb
         class _CB():
             def __init__(self):
                 self.old_color = (0,0,0)
@@ -1459,20 +1518,17 @@ class GUI(Base):
                 print("PPPPPPPOOOOOORRR")
                 print("e",event,data)
                 print("e",dir(event))#.keys())
-                print("e.num",event.num)
                 try:
-                    print("e.stat",event.state)
+                    print("e.state",event.state)
                 except:pass
-
+                set_fade = fade
                 
-                if "color" in data and (event.num == 1 or event.num == 3 or event.num==2 or event.state==256):
-                    e.num=5
-                    e.type=1
-                    cr=-1
-                    cg=-1
-                    cb=-1
+                if "color" in data and (event.num == 1 or event.num == 3 or event.num==2 or event.state in [256,1024]):
+                    cr=None
+                    cg=None
+                    cb=None
                     if event.num == 1: 
-                        e.set_fade=fade
+                        set_fade=fade
                         cr = color[0]
                         cg = color[1]
                         cb = color[2]
@@ -1480,28 +1536,28 @@ class GUI(Base):
                         cr = color[0]
                         cg = color[1]
                         cb = color[2]
-                        e.set_fade=-1
+                        set_fade=0
                     elif event.num == 2: 
-                        e.num=1
-                        e.type=4
-                        e.set_value=-1
+                        cr= "click"
+                        cg= "click"
+                        cb= "click"
                     elif event.state == 256:
                         cr = color[0]
                         cg = color[1]
                         cb = color[2]
-                        e.set_fade=-1
+                        set_fade=0
 
                     else:
-                        e.set_fade=-1
-
-                    e.set_value=cr#color[0]
-                    r.cb(e)
-                    e.set_value=cg#color[1]
-                    g.cb(e)
-                    e.set_value=cb#color[2]
-                    b.cb(e)
-                    e.set_value=-1
-                    e.set_fade=-1
+                        set_fade=0
+
+
+                    if cr is not None:
+                        FIXTURES.encoder(fix=0,attr="RED",xval=cr,xfade=set_fade)
+                    if cg is not None:
+                        FIXTURES.encoder(fix=0,attr="GREEN",xval=cg,xfade=set_fade)
+                    if cb is not None:
+                        FIXTURES.encoder(fix=0,attr="BLUE",xval=cb,xfade=set_fade)
+                    master.refresh_fix()
                      
                     print("PICK COLOR:",data["color"])
         _cb=_CB()
@@ -1649,8 +1705,8 @@ class Fixtures(Base):
             self.gui.update(fix,attr,args={"text":text})
         return cmd
 
-    def encoder(self,fix,attr,action="",xfade=0):
-        #cprint("FIXTURES.encoder",fix,attr,action,xfade,color="yellow")
+    def encoder(self,fix,attr,xval="",xfade=0):
+        cprint("FIXTURES.encoder",fix,attr,xval,xfade,color="yellow")
 
         if attr == "CLEAR":
             self.clear()
@@ -1658,19 +1714,19 @@ class Fixtures(Base):
 
         if fix not in self.fixtures:
             for fix in self.fixtures:
-                #cprint(fix,attr,action)
+                #cprint(fix,attr,xval)
                 data = self.fixtures[fix]
                 if attr in data["ATTRIBUT"]:
-                    if action == "click":
+                    if xval == "click":
                         self.select(fix,attr,mode="on")
                     elif data["ATTRIBUT"][attr]["ACTIVE"]:
                         if fix: # prevent endless recursion
-                            self.encoder(fix,attr,action,xfade)
+                            self.encoder(fix,attr,xval,xfade)
             return 0
 
         data = self.fixtures[fix]
 
-        if action == "click":
+        if xval == "click":
             cprint(data)
             return self.select(fix,attr,mode="toggle")
 
@@ -1678,16 +1734,16 @@ class Fixtures(Base):
         v2=data["ATTRIBUT"][attr]["VALUE"]
         change=0
         increment = 4.11
-        if action == "+":
+        if xval == "+":
             v2+= increment
             v = "+{:0.4f}".format( increment ) #) #4.11"
             change=1
-        elif action == "-":
+        elif xval == "-":
             v2-= increment
             v = "-{:0.4f}".format( increment ) #) #4.11"
             change=1
-        elif type(action) is int or type(action) is float:
-            v2 = action
+        elif type(xval) is int or type(xval) is float:
+            v2 = xval 
             change=1
 
             
@@ -1777,6 +1833,8 @@ class Presets(Base):
     def __init__(self):
         super().__init__() 
         #self.load()
+        self._last_copy = None
+        self._last_move = None
 
 
     def load_presets(self): 
@@ -1794,7 +1852,39 @@ class Presets(Base):
                 sdata["CFG"]["BUTTON"] = "GO"
         self.val_presets = d
         self.label_presets = l
-        
+
+    def check_cfg(self,nr=None):
+        cprint("PRESETS.check_cfg()",nr)
+        ok = 0
+        if nr is not None:
+            ok += self._check_cfg(nr)
+        else:
+            for nr in self.val_presets:
+                ok += self._check_cfg(nr)
+        return ok
+
+    def _check_cfg(self,nr):
+        #cprint("PRESETS._check_cfg()",nr)
+        ok=0
+        if nr in self.val_presets:
+            sdata = self.val_presets[nr]
+            if "CFG" not in sdata:
+                sdata["CFG"] = OrderedDict()
+                ok += 1
+            if "FADE" not in sdata["CFG"]:
+                sdata["CFG"]["FADE"] = 4
+                ok += 1
+            if "DELAY" not in sdata["CFG"]:
+                sdata["CFG"]["DELAY"] = 0
+                ok += 1
+            if "BUTTON" not in sdata["CFG"]:
+                sdata["CFG"]["BUTTON"] = "GO"
+                ok += 1
+            if ok:
+                cprint("REPAIR CFG's",nr,sdata["CFG"],color="red")
+        else:
+            cprint("nr not in data ",nr,color="red")
+        return ok
         
     def backup_presets(self):
         filename = "presets"
@@ -1804,8 +1894,10 @@ class Presets(Base):
         
 
     def get_cfg(self,nr):
+        cprint("PRESETS.get_cfg()",nr)
+        self.check_cfg(nr)
         if nr not in self.val_presets:
-            print(self,"error get_cfg no nr:",nr)
+            cprint(self,"error get_cfg no nr:",nr,color="red")
             return {}
         if "CFG" in self.val_presets[nr]:
             return self.val_presets[nr]["CFG"]
@@ -1874,15 +1966,69 @@ class Presets(Base):
         print("??? ?? set label",nr,[txt])
         return self.label_presets[nr] 
 
+    def clear_move(self):
+        cprint("PRESETS.clear_move()",end=" ")
+        self.clear_copy()
+        
+    def clear_copy(self):
+        cprint("PRESETS.clear_copy()",end=" ")
+        if self._last_copy is not None:
+            cprint("=OK=",color="red")
+            self._last_copy = None
+        else:
+            cprint("=NONE=",color="green")
+
+    def copy(self,nr):
+        cprint("PRESETS._copy",nr,"last",self._last_copy)
+        if nr:
+            if self._last_copy is not None:
+                ok = self._copy(self._last_copy,nr)
+                return ok #ok
+            else:
+                self._last_copy = nr
+                cprint("PRESETS.copy START ",color="red")
+                return 0
+        return 1 # on error reset move
+    def _copy(self,nr_from,nr_to):
+        cprint("PRESETS._copy",nr_from,"to",nr_to)
+        self.check_cfg(nr_from)
+        if self._last_copy is None:
+            cprint("PRESETS._copy last nr is None")
+            return 0
+        if nr_from in self.val_presets and nr_to in self.val_presets:
+            data = self.val_presets[nr_from]
+            cprint(data)
+            label = self.label_presets[nr_from]
+            self.val_presets[nr_to] = data
+            self.label_presets[nr_to] = label
+            #self.label_presets[nr_from] = "MOVE"
+            self.clear_copy()
+            cprint("PRESETS.copy OK",color="red")
+            return 1
+
+    def move(self,nr):
+        cprint("PRESETS.move",self._last_copy,"to",nr)
+        if nr: 
+            last = self._last_copy
+            ok= self.copy(nr)
+            if ok and last:
+                cprint("PRESETS.move OK",color="red")
+                self.delete(last)
+                return ok #ok
+            
+        return 1 # on error reset move
+    def delete(self,nr):
+        cprint("PRESETS.delete",nr)
+        if nr in self.val_presets:
+            self.val_presets[nr] = OrderedDict()
+            self.label_presets[nr] = "DEL"
+        self.check_cfg(nr)
+
     def store(self,nr,data,arg=""):
-        #TODO implement
         print(self,"store()",data,arg)
+        self.check_cfg(nr)
         self.val_presets[nr] = data
-        if not self.label_presets:
-            self.label_presets = "Neu"
-
-        #return 0
-
+        return 1
            
 
 class GUI_grid():
@@ -1980,6 +2126,8 @@ class GUIWindow():
     def mainloop(self):
         self.tk.mainloop()
     def callback(self,event,data={}):#value=255):
+        print()
+        print()
         print("<GUI>",self,event,event.state,data,[event.type])
         value = 255
         if "Release" in str(event.type) or str(event.type) == '5' or str(event.type) == '3':
@@ -1989,9 +2137,9 @@ class GUIWindow():
                 FIXTURES.clear()
                 modes.val("ESC",1)
                 master.refresh_fix()
-            elif event.keysym in "abfclrms": 
-                if "a" == event.keysym:
-                    modes.val("ACTIVATE",1)
+            elif event.keysym in "ebfclrms" and value: 
+                if "e" == event.keysym:
+                    modes.val("EDIT",1)
                 elif "b" == event.keysym:
                     modes.val("BLIND",1)
                 elif "f" == event.keysym:
@@ -2003,13 +2151,15 @@ class GUIWindow():
                 elif "r" == event.keysym:
                     modes.val("STORE",1)
                 elif "m" == event.keysym:
-                    modes.val("MOVE",1)
+                    x=modes.val("MOVE",1)
+                    if not x:
+                        PRESETS.clear_move()
                 elif "s" == event.keysym:
                     modes.val("SELECT",1)
             elif event.keysym in ["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]:
                 nr = int( event.keysym[1])-1
                 cprint("F-KEY",value,nr)
-                master.preset_go(65-1+nr,xfade=fade,val=value)
+                master.preset_go(71-1+nr,xfade=fade,val=value)
             elif "End" == event.keysym:
                 FIXTURES.fx_off("all")
                 CONSOLE.fx_off("all")

+ 4 - 0
lib/colorpicker.py

@@ -66,6 +66,10 @@ def colorpicker(xframe,width=600,height=100,xcb=None):
     canvas.bind("<Button-4>", _callback.callback)
     canvas.bind("<Button-5>", _callback.callback)
     canvas.bind("<B1-Motion>", _callback.callback)
+    canvas.bind("<B2-Motion>", _callback.callback)
+    canvas.bind("<B3-Motion>", _callback.callback)
+    canvas.bind("<B4-Motion>", _callback.callback)
+    canvas.bind("<B5-Motion>", _callback.callback)
     canvas.pack()
 
     x=2

+ 93 - 93
show/GloryCamp2021/patch.sav

@@ -1,93 +1,93 @@
-1	1	{"DMX": 1, "UNIVERS": 0, "NAME": "F1", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-2	2	{"DMX": 2, "UNIVERS": 0, "NAME": "F2", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-3	3	{"DMX": 3, "UNIVERS": 0, "NAME": "F3", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-4	4	{"DMX": 4, "UNIVERS": 0, "NAME": "F4", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-11	11	{"DMX": 11, "UNIVERS": 0, "NAME": "FL", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-24	24	{"DMX": 24, "UNIVERS": 0, "NAME": "P", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-43	43	{"DMX": 43, "UNIVERS": 0, "NAME": "D43", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-44	44	{"DMX": 44, "UNIVERS": 0, "NAME": "D44", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-45	45	{"DMX": 45, "UNIVERS": 0, "NAME": "D45", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-46	46	{"DMX": 46, "UNIVERS": 0, "NAME": "D46", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-47	47	{"DMX": 47, "UNIVERS": 0, "NAME": "D47", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-48	48	{"DMX": 48, "UNIVERS": 0, "NAME": "D48", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-49	49	{"DMX": 49, "UNIVERS": 0, "NAME": "D49", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-50	50	{"DMX": 50, "UNIVERS": 0, "NAME": "D50", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 112.14999999999958, "ACTIVE": 0, "FX": ""}}}
-51	51	{"DMX": 51, "UNIVERS": 0, "NAME": "D51", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-52	52	{"DMX": 52, "UNIVERS": 0, "NAME": "D52", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-53	53	{"DMX": 53, "UNIVERS": 0, "NAME": "D53", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 120.36999999999958, "ACTIVE": 0, "FX": ""}}}
-54	54	{"DMX": 54, "UNIVERS": 0, "NAME": "D54", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-55	55	{"DMX": 55, "UNIVERS": 0, "NAME": "D55", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-56	56	{"DMX": 56, "UNIVERS": 0, "NAME": "D56", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-57	57	{"DMX": 57, "UNIVERS": 0, "NAME": "D57", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 106.86000000000001, "ACTIVE": 0, "FX": ""}}}
-58	58	{"DMX": 58, "UNIVERS": 0, "NAME": "D58", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-59	59	{"DMX": 59, "UNIVERS": 0, "NAME": "D59", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-60	60	{"DMX": 60, "UNIVERS": 0, "NAME": "D60", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-61	61	{"DMX": 61, "UNIVERS": 0, "NAME": "D61", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-62	62	{"DMX": 62, "UNIVERS": 0, "NAME": "D62", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 116.25999999999958, "ACTIVE": 0, "FX": ""}}}
-63	63	{"DMX": 63, "UNIVERS": 0, "NAME": "D63", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-64	64	{"DMX": 64, "UNIVERS": 0, "NAME": "D64", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-65	65	{"DMX": 65, "UNIVERS": 0, "NAME": "D65", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 79.26999999999958, "ACTIVE": 0, "FX": ""}}}
-66	66	{"DMX": 66, "UNIVERS": 0, "NAME": "D66", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-67	67	{"DMX": 67, "UNIVERS": 0, "NAME": "D67", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-68	68	{"DMX": 68, "UNIVERS": 0, "NAME": "D68", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 83.37999999999958, "ACTIVE": 0, "FX": ""}}}
-69	69	{"DMX": 69, "UNIVERS": 0, "NAME": "D69", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 106.86000000000001, "ACTIVE": 0, "FX": ""}}}
-70	70	{"DMX": 70, "UNIVERS": 0, "NAME": "D70", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-71	71	{"DMX": 71, "UNIVERS": 0, "NAME": "D71", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-72	72	{"DMX": 72, "UNIVERS": 0, "NAME": "D72", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-73	73	{"DMX": 73, "UNIVERS": 0, "NAME": "D73", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-74	74	{"DMX": 74, "UNIVERS": 0, "NAME": "D74", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 91.59999999999958, "ACTIVE": 0, "FX": ""}}}
-75	75	{"DMX": 75, "UNIVERS": 0, "NAME": "D75", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-76	76	{"DMX": 76, "UNIVERS": 0, "NAME": "D76", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 132.6999999999996, "ACTIVE": 0, "FX": ""}}}
-77	77	{"DMX": 77, "UNIVERS": 0, "NAME": "D77", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-78	78	{"DMX": 78, "UNIVERS": 0, "NAME": "D78", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-79	79	{"DMX": 79, "UNIVERS": 0, "NAME": "D79", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-80	80	{"DMX": 80, "UNIVERS": 0, "NAME": "D80", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 57.54000000000002, "ACTIVE": 0, "FX": ""}}}
-81	81	{"DMX": 81, "UNIVERS": 2, "NAME": "D81", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-82	82	{"DMX": 82, "UNIVERS": 3, "NAME": "D82", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-83	83	{"DMX": 83, "UNIVERS": 1, "NAME": "D83", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-84	84	{"DMX": 84, "UNIVERS": 1, "NAME": "D84", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-85	85	{"DMX": 85, "UNIVERS": 0, "NAME": "D85", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-86	86	{"DMX": 86, "UNIVERS": 0, "NAME": "D86", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 79.26999999999958, "ACTIVE": 0, "FX": ""}}}
-87	87	{"DMX": 87, "UNIVERS": 0, "NAME": "D87", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 106.86000000000001, "ACTIVE": 0, "FX": ""}}}
-88	88	{"DMX": 88, "UNIVERS": 0, "NAME": "D88", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-89	89	{"DMX": 89, "UNIVERS": 0, "NAME": "D89", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-90	90	{"DMX": 90, "UNIVERS": 0, "NAME": "D90", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-91	91	{"DMX": 91, "UNIVERS": 0, "NAME": "D91", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-92	92	{"DMX": 92, "UNIVERS": 0, "NAME": "D92", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 57.54000000000002, "ACTIVE": 0, "FX": ""}}}
-93	93	{"DMX": 93, "UNIVERS": 0, "NAME": "D93", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 106.86000000000001, "ACTIVE": 0, "FX": ""}}}
-94	94	{"DMX": 94, "UNIVERS": 0, "NAME": "D94", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-95	95	{"DMX": 95, "UNIVERS": 0, "NAME": "D95", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-96	96	{"DMX": 96, "UNIVERS": 0, "NAME": "D96", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-97	97	{"DMX": 97, "UNIVERS": 0, "NAME": "D97", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-98	98	{"DMX": 98, "UNIVERS": 0, "NAME": "D98", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 57.54000000000002, "ACTIVE": 0, "FX": ""}}}
-99	99	{"DMX": 99, "UNIVERS": 0, "NAME": "D99", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 106.86000000000001, "ACTIVE": 0, "FX": ""}}}
-100	100	{"DMX": 100, "UNIVERS": 0, "NAME": "D100", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-101	101	{"DMX": 101, "UNIVERS": 0, "NAME": "D101", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-102	102	{"DMX": 102, "UNIVERS": 0, "NAME": "D102", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-103	103	{"DMX": 103, "UNIVERS": 0, "NAME": "D103", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-104	104	{"DMX": 104, "UNIVERS": 0, "NAME": "D104", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-105	105	{"DMX": 105, "UNIVERS": 0, "NAME": "D105", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-106	106	{"DMX": 106, "UNIVERS": 0, "NAME": "D106", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-107	107	{"DMX": 107, "UNIVERS": 0, "NAME": "D107", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-108	108	{"DMX": 108, "UNIVERS": 0, "NAME": "D108", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-109	109	{"DMX": 109, "UNIVERS": 0, "NAME": "D109", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-110	110	{"DMX": 110, "UNIVERS": 0, "NAME": "D110", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-111	111	{"DMX": 111, "UNIVERS": 0, "NAME": "D111", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-112	112	{"DMX": 112, "UNIVERS": 0, "NAME": "D112", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-113	113	{"DMX": 113, "UNIVERS": 0, "NAME": "D113", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-114	114	{"DMX": 114, "UNIVERS": 0, "NAME": "D114", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-115	115	{"DMX": 115, "UNIVERS": 0, "NAME": "D115", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-116	116	{"DMX": 116, "UNIVERS": 0, "NAME": "D116", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-117	117	{"DMX": 117, "UNIVERS": 0, "NAME": "D117", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-118	118	{"DMX": 118, "UNIVERS": 0, "NAME": "D118", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-119	119	{"DMX": 119, "UNIVERS": 0, "NAME": "D119", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-120	120	{"DMX": 120, "UNIVERS": 0, "NAME": "D120", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-121	121	{"DMX": 121, "UNIVERS": 0, "NAME": "D121", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-122	122	{"DMX": 122, "UNIVERS": 0, "NAME": "D122", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-123	123	{"DMX": 123, "UNIVERS": 0, "NAME": "D123", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-124	124	{"DMX": 124, "UNIVERS": 0, "NAME": "D124", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-125	125	{"DMX": 125, "UNIVERS": 0, "NAME": "D125", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-126	126	{"DMX": 126, "UNIVERS": 0, "NAME": "D126", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}}}
-1001	1001	{"DMX": 401, "UNIVERS": 0, "NAME": "IRGB", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}, "RED": {"NR": 4, "MASTER": "", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}, "GREEN": {"NR": 5, "MASTER": "", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}, "BLUE": {"NR": 6, "MASTER": "", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}}}
-3001	3001	{"DMX": 241, "UNIVERS": 0, "NAME": "MH-BEAM", "ATTRIBUT": {"SHUTTER": {"NR": 6, "MASTER": "", "MODE": "", "VALUE": 8.220000000000002, "ACTIVE": 0, "FX": ""}, "DIM": {"NR": -1, "MASTER": "", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}, "PAN": {"NR": 1, "MASTER": "", "MODE": "F", "VALUE": 151.66000000000008, "ACTIVE": 0, "FX": ""}, "PAN-FINE": {"NR": 2, "MASTER": "", "MODE": "F", "VALUE": 127.0, "ACTIVE": 0, "FX": ""}, "TILT": {"NR": 3, "MASTER": "", "MODE": "F", "VALUE": 4.11, "ACTIVE": 0, "FX": ""}, "TILT-FINE": {"NR": 4, "MASTER": "", "MODE": "F", "VALUE": 127.0, "ACTIVE": 0, "FX": ""}, "RED": {"NR": 7, "MASTER": "1", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}, "GREEN": {"NR": 8, "MASTER": "1", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}, "BLUE": {"NR": 9, "MASTER": "1", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}}}
-3002	3002	{"DMX": 261, "UNIVERS": 0, "NAME": "MH-BEAM", "ATTRIBUT": {"SHUTTER": {"NR": 6, "MASTER": "", "MODE": "", "VALUE": 8.220000000000002, "ACTIVE": 0, "FX": ""}, "DIM": {"NR": -1, "MASTER": "", "MODE": "F", "VALUE": 124.47999999999958, "ACTIVE": 0, "FX": ""}, "PAN": {"NR": 1, "MASTER": "", "MODE": "F", "VALUE": 155.7700000000001, "ACTIVE": 0, "FX": ""}, "PAN-FINE": {"NR": 2, "MASTER": "", "MODE": "F", "VALUE": 127.0, "ACTIVE": 0, "FX": ""}, "TILT": {"NR": 3, "MASTER": "", "MODE": "F", "VALUE": 4.11, "ACTIVE": 0, "FX": ""}, "TILT-FINE": {"NR": 4, "MASTER": "", "MODE": "F", "VALUE": 127.0, "ACTIVE": 0, "FX": ""}, "RED": {"NR": 7, "MASTER": "1", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}, "GREEN": {"NR": 8, "MASTER": "1", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}, "BLUE": {"NR": 9, "MASTER": "1", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}}}
+1	1	{"DMX": 1, "UNIVERS": 0, "NAME": "F1", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+2	2	{"DMX": 2, "UNIVERS": 0, "NAME": "F2", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+3	3	{"DMX": 3, "UNIVERS": 0, "NAME": "F3", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+4	4	{"DMX": 4, "UNIVERS": 0, "NAME": "F4", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+11	11	{"DMX": 11, "UNIVERS": 0, "NAME": "FL", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+24	24	{"DMX": 24, "UNIVERS": 0, "NAME": "P", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+43	43	{"DMX": 43, "UNIVERS": 0, "NAME": "D43", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+44	44	{"DMX": 44, "UNIVERS": 0, "NAME": "D44", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+45	45	{"DMX": 45, "UNIVERS": 0, "NAME": "D45", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+46	46	{"DMX": 46, "UNIVERS": 0, "NAME": "D46", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+47	47	{"DMX": 47, "UNIVERS": 0, "NAME": "D47", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+48	48	{"DMX": 48, "UNIVERS": 0, "NAME": "D48", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+49	49	{"DMX": 49, "UNIVERS": 0, "NAME": "D49", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+50	50	{"DMX": 50, "UNIVERS": 0, "NAME": "D50", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+51	51	{"DMX": 51, "UNIVERS": 0, "NAME": "D51", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+52	52	{"DMX": 52, "UNIVERS": 0, "NAME": "D52", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+53	53	{"DMX": 53, "UNIVERS": 0, "NAME": "D53", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+54	54	{"DMX": 54, "UNIVERS": 0, "NAME": "D54", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+55	55	{"DMX": 55, "UNIVERS": 0, "NAME": "D55", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+56	56	{"DMX": 56, "UNIVERS": 0, "NAME": "D56", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+57	57	{"DMX": 57, "UNIVERS": 0, "NAME": "D57", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+58	58	{"DMX": 58, "UNIVERS": 0, "NAME": "D58", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+59	59	{"DMX": 59, "UNIVERS": 0, "NAME": "D59", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+60	60	{"DMX": 60, "UNIVERS": 0, "NAME": "D60", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+61	61	{"DMX": 61, "UNIVERS": 0, "NAME": "D61", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+62	62	{"DMX": 62, "UNIVERS": 0, "NAME": "D62", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+63	63	{"DMX": 63, "UNIVERS": 0, "NAME": "D63", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+64	64	{"DMX": 64, "UNIVERS": 0, "NAME": "D64", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+65	65	{"DMX": 65, "UNIVERS": 0, "NAME": "D65", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+66	66	{"DMX": 66, "UNIVERS": 0, "NAME": "D66", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 235.44999999999993, "ACTIVE": 0, "FX": ""}}}
+67	67	{"DMX": 67, "UNIVERS": 0, "NAME": "D67", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+68	68	{"DMX": 68, "UNIVERS": 0, "NAME": "D68", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+69	69	{"DMX": 69, "UNIVERS": 0, "NAME": "D69", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+70	70	{"DMX": 70, "UNIVERS": 0, "NAME": "D70", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+71	71	{"DMX": 71, "UNIVERS": 0, "NAME": "D71", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+72	72	{"DMX": 72, "UNIVERS": 0, "NAME": "D72", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 231.33999999999992, "ACTIVE": 0, "FX": ""}}}
+73	73	{"DMX": 73, "UNIVERS": 0, "NAME": "D73", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+74	74	{"DMX": 74, "UNIVERS": 0, "NAME": "D74", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+75	75	{"DMX": 75, "UNIVERS": 0, "NAME": "D75", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+76	76	{"DMX": 76, "UNIVERS": 0, "NAME": "D76", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+77	77	{"DMX": 77, "UNIVERS": 0, "NAME": "D77", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+78	78	{"DMX": 78, "UNIVERS": 0, "NAME": "D78", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 239.55999999999995, "ACTIVE": 0, "FX": ""}}}
+79	79	{"DMX": 79, "UNIVERS": 0, "NAME": "D79", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+80	80	{"DMX": 80, "UNIVERS": 0, "NAME": "D80", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+81	81	{"DMX": 81, "UNIVERS": 2, "NAME": "D81", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+82	82	{"DMX": 82, "UNIVERS": 3, "NAME": "D82", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+83	83	{"DMX": 83, "UNIVERS": 1, "NAME": "D83", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+84	84	{"DMX": 84, "UNIVERS": 1, "NAME": "D84", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+85	85	{"DMX": 85, "UNIVERS": 0, "NAME": "D85", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+86	86	{"DMX": 86, "UNIVERS": 0, "NAME": "D86", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+87	87	{"DMX": 87, "UNIVERS": 0, "NAME": "D87", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+88	88	{"DMX": 88, "UNIVERS": 0, "NAME": "D88", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+89	89	{"DMX": 89, "UNIVERS": 0, "NAME": "D89", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+90	90	{"DMX": 90, "UNIVERS": 0, "NAME": "D90", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+91	91	{"DMX": 91, "UNIVERS": 0, "NAME": "D91", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+92	92	{"DMX": 92, "UNIVERS": 0, "NAME": "D92", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+93	93	{"DMX": 93, "UNIVERS": 0, "NAME": "D93", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+94	94	{"DMX": 94, "UNIVERS": 0, "NAME": "D94", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+95	95	{"DMX": 95, "UNIVERS": 0, "NAME": "D95", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+96	96	{"DMX": 96, "UNIVERS": 0, "NAME": "D96", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+97	97	{"DMX": 97, "UNIVERS": 0, "NAME": "D97", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+98	98	{"DMX": 98, "UNIVERS": 0, "NAME": "D98", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+99	99	{"DMX": 99, "UNIVERS": 0, "NAME": "D99", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+100	100	{"DMX": 100, "UNIVERS": 0, "NAME": "D100", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+101	101	{"DMX": 101, "UNIVERS": 0, "NAME": "D101", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+102	102	{"DMX": 102, "UNIVERS": 0, "NAME": "D102", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+103	103	{"DMX": 103, "UNIVERS": 0, "NAME": "D103", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+104	104	{"DMX": 104, "UNIVERS": 0, "NAME": "D104", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+105	105	{"DMX": 105, "UNIVERS": 0, "NAME": "D105", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+106	106	{"DMX": 106, "UNIVERS": 0, "NAME": "D106", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+107	107	{"DMX": 107, "UNIVERS": 0, "NAME": "D107", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+108	108	{"DMX": 108, "UNIVERS": 0, "NAME": "D108", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+109	109	{"DMX": 109, "UNIVERS": 0, "NAME": "D109", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+110	110	{"DMX": 110, "UNIVERS": 0, "NAME": "D110", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+111	111	{"DMX": 111, "UNIVERS": 0, "NAME": "D111", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+112	112	{"DMX": 112, "UNIVERS": 0, "NAME": "D112", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+113	113	{"DMX": 113, "UNIVERS": 0, "NAME": "D113", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+114	114	{"DMX": 114, "UNIVERS": 0, "NAME": "D114", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+115	115	{"DMX": 115, "UNIVERS": 0, "NAME": "D115", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+116	116	{"DMX": 116, "UNIVERS": 0, "NAME": "D116", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+117	117	{"DMX": 117, "UNIVERS": 0, "NAME": "D117", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+118	118	{"DMX": 118, "UNIVERS": 0, "NAME": "D118", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+119	119	{"DMX": 119, "UNIVERS": 0, "NAME": "D119", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+120	120	{"DMX": 120, "UNIVERS": 0, "NAME": "D120", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+121	121	{"DMX": 121, "UNIVERS": 0, "NAME": "D121", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+122	122	{"DMX": 122, "UNIVERS": 0, "NAME": "D122", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+123	123	{"DMX": 123, "UNIVERS": 0, "NAME": "D123", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+124	124	{"DMX": 124, "UNIVERS": 0, "NAME": "D124", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+125	125	{"DMX": 125, "UNIVERS": 0, "NAME": "D125", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+126	126	{"DMX": 126, "UNIVERS": 0, "NAME": "D126", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}}}
+1001	1001	{"DMX": 401, "UNIVERS": 0, "NAME": "IRGB", "ATTRIBUT": {"DIM": {"NR": 1, "MASTER": "1", "MODE": "F", "VALUE": 256, "ACTIVE": 0, "FX": ""}, "RED": {"NR": 4, "MASTER": "", "MODE": "F", "VALUE": 85, "ACTIVE": 0, "FX": ""}, "GREEN": {"NR": 5, "MASTER": "", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}, "BLUE": {"NR": 6, "MASTER": "", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}}}
+3001	3001	{"DMX": 241, "UNIVERS": 0, "NAME": "MH-BEAM", "ATTRIBUT": {"SHUTTER": {"NR": 6, "MASTER": "", "MODE": "", "VALUE": 217.8300000000003, "ACTIVE": 0, "FX": ""}, "DIM": {"NR": -1, "MASTER": "", "MODE": "F", "VALUE": 0, "ACTIVE": 0, "FX": ""}, "PAN": {"NR": 1, "MASTER": "", "MODE": "F", "VALUE": 139.74000000000004, "ACTIVE": 0, "FX": ""}, "PAN-FINE": {"NR": 2, "MASTER": "", "MODE": "F", "VALUE": 127.0, "ACTIVE": 0, "FX": ""}, "TILT": {"NR": 3, "MASTER": "", "MODE": "F", "VALUE": 53.43000000000002, "ACTIVE": 0, "FX": ""}, "TILT-FINE": {"NR": 4, "MASTER": "", "MODE": "F", "VALUE": 127.0, "ACTIVE": 0, "FX": ""}, "RED": {"NR": 7, "MASTER": "1", "MODE": "F", "VALUE": 85, "ACTIVE": 0, "FX": ""}, "GREEN": {"NR": 8, "MASTER": "1", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}, "BLUE": {"NR": 9, "MASTER": "1", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}}}
+3002	3002	{"DMX": 261, "UNIVERS": 0, "NAME": "MH-BEAM", "ATTRIBUT": {"SHUTTER": {"NR": 6, "MASTER": "", "MODE": "", "VALUE": 213.72000000000028, "ACTIVE": 0, "FX": ""}, "DIM": {"NR": -1, "MASTER": "", "MODE": "F", "VALUE": 0, "ACTIVE": 0, "FX": ""}, "PAN": {"NR": 1, "MASTER": "", "MODE": "F", "VALUE": 147.96000000000006, "ACTIVE": 0, "FX": ""}, "PAN-FINE": {"NR": 2, "MASTER": "", "MODE": "F", "VALUE": 127.0, "ACTIVE": 0, "FX": ""}, "TILT": {"NR": 3, "MASTER": "", "MODE": "F", "VALUE": 36.99000000000002, "ACTIVE": 0, "FX": ""}, "TILT-FINE": {"NR": 4, "MASTER": "", "MODE": "F", "VALUE": 127.0, "ACTIVE": 0, "FX": ""}, "RED": {"NR": 7, "MASTER": "1", "MODE": "F", "VALUE": 0, "ACTIVE": 0, "FX": ""}, "GREEN": {"NR": 8, "MASTER": "1", "MODE": "F", "VALUE": 255, "ACTIVE": 0, "FX": ""}, "BLUE": {"NR": 9, "MASTER": "1", "MODE": "F", "VALUE": 85, "ACTIVE": 0, "FX": ""}}}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 10 - 10
show/GloryCamp2021/presets.sav


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov