Example #1
0
 def do_metro(self):
     self.beat += 1
     if self.beat % 16 == 0:
         device.send(NoteOn + 9, 35, 60)
     elif self.beat % 4 == 0:
         # 10th channel is percussion
         device.send(NoteOn + 9, 37, 40)
Example #2
0
 def do_metro(self):
     self.beat += 1
     if self.beat % 16 == 0:
         device.send(NoteOn + 9, 35, 60)
     elif self.beat % 4 == 0:
         # 10th channel is percussion
         device.send(NoteOn + 9, 37, 40)
Example #3
0
    def gen_notes(self):

        prev = [0] * keyboard.numkeys # blank piano

        for x in range(16):
            yield clockwork.sleep(self.tickSpeed)
            self.do_metro()

        self.visible = True
        while self.pos < self.whereToStop:
            state = self.score[self.pos]
            for (e, (was, now)) in enumerate(zip(prev, state)):
                i = e + keyboard.leftmost_key
                if now == PRESS:
                    device.send(NoteOff, i, 0)
                    device.send(NoteOn, i, 32)
                elif (now == UNPRESSED) and (was != UNPRESSED):
                    device.send(NoteOff, i, 0)
            prev = state

            yield clockwork.sleep(self.tickSpeed)
            self.do_metro()

            
            self.pos += 1
            
        # now be quiet, even if selection cuts off mid-note:
        for i in range(keyboard.numkeys):
            device.send(NoteOff, i+keyboard.leftmost_key, 0)

        self.visible = False
        self.playing = None
Example #4
0
    def gen_notes(self):

        prev = [0] * keyboard.numkeys  # blank piano

        for x in range(16):
            yield clockwork.sleep(self.tickSpeed)
            self.do_metro()

        self.visible = True
        while self.pos < self.whereToStop:
            state = self.score[self.pos]
            for (e, (was, now)) in enumerate(zip(prev, state)):
                i = e + keyboard.leftmost_key
                if now == PRESS:
                    device.send(NoteOff, i, 0)
                    device.send(NoteOn, i, 32)
                elif (now == UNPRESSED) and (was != UNPRESSED):
                    device.send(NoteOff, i, 0)
            prev = state

            yield clockwork.sleep(self.tickSpeed)
            self.do_metro()

            self.pos += 1

        # now be quiet, even if selection cuts off mid-note:
        for i in range(keyboard.numkeys):
            device.send(NoteOff, i + keyboard.leftmost_key, 0)

        self.visible = False
        self.playing = None