Example #1
0
 def __init__(self, rig):
     self.rig = rig
     self.states = []
     self.sequences = []
     self.programmer = State()
     
     self.programming_mode = False #Programming Mode: Don't update the outputs
Example #2
0
class Show:
    def __init__(self, rig):
        self.rig = rig
        self.states = []
        self.sequences = []
        self.programmer = State()
        
        self.programming_mode = False #Programming Mode: Don't update the outputs
    
    def saveState(self):
        self.states.append(self.programmer)
        self.clearProgrammer()
    
    def restoreState(self, state):
        self.programmer = state
    
    def clearProgrammer(self):        
        self.programmer = State()
        self.rig.reset()
    
    def refresh(self):
        if not self.programming_mode:
            self.programmer.apply(self.rig.heads)
            self.rig.refresh()
    
    def run(self):
        self._refresh_thread = Thread(target = self._refresh_target)
        self._refresh_thread.daemon = True
        self._refresh_thread.start()
    
    def _refresh_target(self):
        while True:
            self.programmer.apply(self.rig.heads)
            self.rig.refresh()
            time.sleep(0.01)
Example #3
0
 def testSavedState(self):
     for i in range(1,11):
         self.rig.heads[i].attributes["MasterIntensity"].value = i * 10
     
     s = State()
     s.save(self.rig.heads)
     
     for i in range(1,11):
         self.rig.heads[i].attributes["MasterIntensity"].value = 0
     
     s.restore(self.rig.heads)
     
     for i in range(1,11):
         self.assertEqual(self.rig.heads[i].attributes["MasterIntensity"].value, i * 10, "State not restored")
Example #4
0
    def testSavedState(self):
        for i in range(1, 11):
            self.rig.heads[i].attributes["MasterIntensity"].value = i * 10

        s = State()
        s.save(self.rig.heads)

        for i in range(1, 11):
            self.rig.heads[i].attributes["MasterIntensity"].value = 0

        s.restore(self.rig.heads)

        for i in range(1, 11):
            self.assertEqual(
                self.rig.heads[i].attributes["MasterIntensity"].value, i * 10,
                "State not restored")
Example #5
0
 def clearProgrammer(self):        
     self.programmer = State()
     self.rig.reset()