コード例 #1
0
ファイル: procedure.py プロジェクト: inaugust/lb
 def to_tree(self):
     args = ''
     for a in self.args:
         args=args+a+', '
     args=args[:-2]
     p = DOMNode('procedure', {'name':self.name, 'args':args})
     data = self.proc + "\n"
     p.add_data(data)
     return p
コード例 #2
0
ファイル: procedure.py プロジェクト: inaugust/lb
 def to_tree(self):
     args = ''
     for a in self.args:
         args = args + a + ', '
     args = args[:-2]
     p = DOMNode('procedure', {'name': self.name, 'args': args})
     data = self.proc + "\n"
     p.add_data(data)
     return p
コード例 #3
0
ファイル: lightboard.py プロジェクト: inaugust/lb
 def change_show(self, newname, clear=0):
     self.datafile = None
     self.undo_bindings()
     self.show = newname
     self.do_bindings()
     if clear:
         for lib in self._libraries:
             lib.reset()
     else:
         tree = DOMNode("show", {"name": self.show})
         for lib in self._libraries:
             tree.append(lib.save())
         for lib in self._libraries:
             lib.load(tree)
     self.write("Now working in show " + self.show + "\n")
コード例 #4
0
ファイル: lightboard.py プロジェクト: inaugust/lb
 def change_show(self, newname, clear=0):
     self.datafile=None
     self.undo_bindings()
     self.show = newname
     self.do_bindings()
     if (clear):
         for lib in self._libraries:
             lib.reset()
     else:
         tree = DOMNode('show', {'name':self.show})            
         for lib in self._libraries:
             tree.append (lib.save())
         for lib in self._libraries:                    
             lib.load(tree)
     self.write("Now working in show " + self.show +"\n")
コード例 #5
0
ファイル: lightboard.py プロジェクト: inaugust/lb
    def save_show(self, datafile=None):
        if datafile is not None:
            self.datafile = datafile
        else:
            datafile = self.datafile

        tree = DOMNode("show", {"name": self.show})

        for lib in self._libraries:
            tree.append(lib.save())

        writer = TreeWriter()
        writer.write(tree)
        s = writer.get_string()
        f = open(datafile, "w")
        f.write(s)
コード例 #6
0
ファイル: lightboard.py プロジェクト: inaugust/lb
 def unknown_starttag (self, name, attrs):
     n = DOMNode(name, attrs)
     if len(self.stack) == 0:
         self.tree = n
     else:
         self.stack[-1].append(n)
     self.stack.append(n)
コード例 #7
0
ファイル: lightboard.py プロジェクト: inaugust/lb
    def save_show(self, datafile=None):
        if datafile is not None:
            self.datafile = datafile
        else:
            datafile = self.datafile

        tree = DOMNode('show', {'name':self.show})

        for lib in self._libraries:
            tree.append (lib.save())
            
        writer = TreeWriter()
        writer.write(tree)
        s = writer.get_string()
        f=open(datafile, "w")
        f.write(s)
コード例 #8
0
def save():
    tree = DOMNode('instruments')
    for name, dict in lb.instrument_group.items():
        if name is None:
            n = tree
        else:
            n = DOMNode('group', {'name': name})
            tree.append(n)
        for i in dict.values():
            n.append(i.to_tree())
    return tree
コード例 #9
0
ファイル: lightboard.py プロジェクト: inaugust/lb
    def sendData(self, subtree):
        tree = DOMNode("show", {"name": self.show})
        tree.append(subtree)

        writer = TreeWriter()
        writer.write(tree)
        data = writer.get_string()
        (foo, iterator) = self.client_context.list(0)
        while 1:
            (c, b) = iterator.next_one()
            if not c:
                break
            if b.binding_name[0].id == self.name:
                continue
            client = self.client_context.resolve(b.binding_name)
            try:
                client.receiveData(data)
            except:
                self.client_context.unbind(b.binding_name)
コード例 #10
0
ファイル: lightboard.py プロジェクト: inaugust/lb
    def sendData(self, subtree):
        tree = DOMNode('show', {'name':self.show})
        tree.append(subtree)

        writer = TreeWriter()
        writer.write(tree)
        data = writer.get_string()
        (foo,iterator) = self.client_context.list(0)
        while 1:
            (c,b)=iterator.next_one()
            if not c:
                break
            if (b.binding_name[0].id==self.name):
                continue
            client = self.client_context.resolve(b.binding_name)
            try:
                client.receiveData(data)
            except:
                self.client_context.unbind(b.binding_name)
コード例 #11
0
 def add_clicked(self, widget, data=None):
     tree = self.editTree.get_widget("instrumentTree")
     menu = self.editTree.get_widget("driverMenu")
     name = menu.get_children()[0].get()
     info = lb.instrument_module_info[name]
     dnode = DOMNode(tag=info.module, attrs={'name': 'Unnamed'})
     if info.container:
         node = tree.insert_node(None, None, ['Unnamed'], is_leaf=FALSE)
     else:
         node = tree.insert_node(None, None, ['Unnamed'], is_leaf=TRUE)
     tree.node_set_row_data(node, (dnode, info))
コード例 #12
0
    def to_tree(self):
        dict = {}
        for arg in self.arglist:
            dict[arg.name] = arg.value

        dict['name'] = self.name
        dict['driver'] = self.driver
        dict['core'] = self.corename

        instrument = DOMNode(self.module, dict)
        return instrument
コード例 #13
0
ファイル: cue.py プロジェクト: inaugust/lb
 def to_tree(self):
     cue = DOMNode("cue", {"name": self.name})
     for name, lvl in self.parent:
         lvl = lb.value_to_string("level", [lvl])
         parent = DOMNode("parent", {"level": lvl})
         parent.add_data(name)
         cue.append(parent)
     for name, idict in self.instrument.items():
         dict = idict.copy()
         dict["name"] = name
         instrument = DOMNode("instrument", dict)
         cue.append(instrument)
     return cue
コード例 #14
0
ファイル: instrument.py プロジェクト: inaugust/lb
 def ok_clicked(self, widget, data=None):
     w = self.editTree.get_widget("editInstruments")
     tree = self.editTree.get_widget ("instrumentTree")
     self.update_attrs_from_window()
     delroot = save()
     delroot.tag = 'instruments-deleted'
     domroot = DOMNode('instruments')
     for treenode in tree.base_nodes():
         domroot.append(self.make_dom_tree(tree, treenode))
     domtree = DOMNode('show')
     domtree.append(domroot)
     deltree = DOMNode('show')
     deltree.append(delroot)
     for mod in lb.instrument_module_info.values():
         mod.load(deltree)
     for mod in lb.instrument_module_info.values():
         mod.load(domtree)            
     lb.sendData(delroot)        
     lb.sendData(domroot)
     w.destroy()
コード例 #15
0
ファイル: meta_instrument.py プロジェクト: inaugust/lb
 def to_tree(self):
     instrument = DOMNode(self.module, {'name': self.name})
     subs = {}
     for a, i in self.subinstrument.items():
         if type(i) != type([]):
             i = [i]
         for x in i:
             if subs.has_key(x):
                 subs[x] = subs[x] + ', ' + a
             else:
                 subs[x] = a
     for i, a in subs.items():
         n = i.to_tree()
         n.attrs['attributes'] = a
         instrument.append(n)
     return instrument
コード例 #16
0
ファイル: instrument.py プロジェクト: inaugust/lb
def save():
    tree = DOMNode('instruments')
    for name, dict in lb.instrument_group.items():
        if name is None:
            n = tree
        else:
            n = DOMNode('group', {'name': name})
            tree.append(n)
        for i in dict.values():
            n.append(i.to_tree())
    return tree
コード例 #17
0
ファイル: program.py プロジェクト: inaugust/lb
def save():
    tree = DOMNode('programs')
    for p in lb.program.values():
        tree.append(p.to_tree())
    return tree
コード例 #18
0
ファイル: crossfader.py プロジェクト: inaugust/lb
def save():
    tree = DOMNode('crossfaders')
    for i in lb.crossfader.values():
        tree.append(i.to_tree())
    return tree
コード例 #19
0
def save():
    tree = DOMNode('programs')
    for p in lb.program.values():
        tree.append(p.to_tree())
    return tree
コード例 #20
0
ファイル: program.py プロジェクト: inaugust/lb
 def send_update(self):
     tree = DOMNode('programs')
     tree.append(self.to_tree())
     lb.sendData(tree)
コード例 #21
0
ファイル: process.py プロジェクト: inaugust/lb
 def send_update(self):
     tree = DOMNode('processes')
     tree.append(self.to_tree())
     lb.sendData(tree)
コード例 #22
0
ファイル: cue.py プロジェクト: inaugust/lb
def save():
    tree = DOMNode("cues")
    for i in lb.cue.values():
        tree.append(i.to_tree())
    return tree
コード例 #23
0
ファイル: cue.py プロジェクト: inaugust/lb
 def to_tree(self):
     cue = DOMNode('cue', {'name': self.name})
     for name, lvl in self.parent:
         lvl = lb.value_to_string('level', [lvl])
         parent = DOMNode('parent', {'level': lvl})
         parent.add_data(name)
         cue.append(parent)
     for name, idict in self.instrument.items():
         dict = idict.copy()
         dict['name'] = name
         instrument = DOMNode('instrument', dict)
         cue.append(instrument)
     return cue
コード例 #24
0
ファイル: cue.py プロジェクト: inaugust/lb
def save():
    tree = DOMNode('cues')
    for i in lb.cue.values():
        tree.append(i.to_tree())
    return tree
コード例 #25
0
 def to_tree(self):
     xf = DOMNode('crossfader', {'name': self.name, 'core': self.corename})
     return xf
コード例 #26
0
 def send_update(self):
     tree = DOMNode('crossfaders')
     tree.append(self.to_tree())
     lb.sendData(tree)
コード例 #27
0
 def ok_clicked(self, widget, data=None):
     w = self.editTree.get_widget("editInstruments")
     tree = self.editTree.get_widget("instrumentTree")
     self.update_attrs_from_window()
     delroot = save()
     delroot.tag = 'instruments-deleted'
     domroot = DOMNode('instruments')
     for treenode in tree.base_nodes():
         domroot.append(self.make_dom_tree(tree, treenode))
     domtree = DOMNode('show')
     domtree.append(domroot)
     deltree = DOMNode('show')
     deltree.append(delroot)
     for mod in lb.instrument_module_info.values():
         mod.load(deltree)
     for mod in lb.instrument_module_info.values():
         mod.load(domtree)
     lb.sendData(delroot)
     lb.sendData(domroot)
     w.destroy()
コード例 #28
0
ファイル: process.py プロジェクト: inaugust/lb
def save():
    tree = DOMNode("processes")
    for i in lb.process.values():
        tree.append(i.to_tree())
    return tree
コード例 #29
0
 def add_group_clicked(self, widget, data=None):
     tree = self.editTree.get_widget("instrumentTree")
     info = group_info
     dnode = DOMNode(tag='group', attrs={'name': 'Unnamed'})
     node = tree.insert_node(None, None, ['Unnamed'], is_leaf=FALSE)
     tree.node_set_row_data(node, (dnode, info))
コード例 #30
0
ファイル: process.py プロジェクト: inaugust/lb
def save():
    tree = DOMNode('processes')
    for i in lb.process.values():
        tree.append(i.to_tree())
    return tree
コード例 #31
0
ファイル: levelfader.py プロジェクト: inaugust/lb
 def send_update(self):
     tree = DOMNode('levelfaders')
     tree.append(self.to_tree())
     lb.sendData(tree)
コード例 #32
0
ファイル: process.py プロジェクト: inaugust/lb
 def to_tree(self):
     dict = self.args.copy()
     dict['name'] = self.name
     dict['procedure'] = self.procedure
     p = DOMNode('process', dict)
     return p
コード例 #33
0
ファイル: levelfader.py プロジェクト: inaugust/lb
def save():
    tree = DOMNode('levelfaders')
    for i in lb.levelfader.values():
        tree.append(i.to_tree())
    return tree
コード例 #34
0
ファイル: procedure.py プロジェクト: inaugust/lb
def save():
    tree = DOMNode('procedures')
    for i in lb.procedure.values():
        tree.append(i.to_tree())
    return tree
コード例 #35
0
ファイル: program.py プロジェクト: inaugust/lb
 def to_tree(self):
     program = DOMNode('program', {'name':self.name})
     init = DOMNode('init')
     program.append(init)
     for act in self.init_step.actions:
         action = DOMNode(act.kind, act.args)
         init.append(action)
     for stp in self.actions:
         step = DOMNode('step', {'name':stp.name})
         program.append(step)
         for act in stp.actions:
             action = DOMNode(act.kind, act.args)
             step.append(action)
     return program
コード例 #36
0
 def to_tree(self):
     instrument = DOMNode(self.module, {'name':self.name,
                                        'red':self.red_name,
                                        'green':self.green_name,
                                        'blue':self.blue_name})
     return instrument
コード例 #37
0
 def to_tree(self):
     program = DOMNode('program', {'name': self.name})
     init = DOMNode('init')
     program.append(init)
     for act in self.init_step.actions:
         action = DOMNode(act.kind, act.args)
         init.append(action)
     for stp in self.actions:
         step = DOMNode('step', {'name': stp.name})
         program.append(step)
         for act in stp.actions:
             action = DOMNode(act.kind, act.args)
             step.append(action)
     return program
コード例 #38
0
ファイル: process.py プロジェクト: inaugust/lb
 def send_update(self):
     tree = DOMNode("processes")
     tree.append(self.to_tree())
     lb.sendData(tree)
コード例 #39
0
def save():
    tree = DOMNode('crossfaders')
    for i in lb.crossfader.values():
        tree.append(i.to_tree())
    return tree