class MidiDispatcherTests(TestCase, ClockRunner): def setUp(self): checkPypm() tempo = Tempo(153) self.meter = Meter(4, 4, tempo=tempo) self.clock = BeatClock(tempo=tempo, meter=self.meter, reactor=TestReactor()) self.midiin = FakeMidiInput() self.midiin._buffer.extend([[NOTEON_CHAN1, i % 128, 100, 0], i] for i in range(32 * 3 + 5)) self.handler = TestHandler() self.dispatcher = MidiDispatcher(self.midiin, [self.handler], clock=self.clock) self.dispatcher.start() def test_scheduling(self): self.runTicks(97) expected = [('noteon', 1, i % 128, 100, i) for i in range(64)] self.assertEquals(self.handler.events, expected) self.handler.events[:] = [] self.runTicks(1) expected = [('noteon', 1, i % 128, 100, i) for i in range(64, 96)] self.assertEquals(self.handler.events, expected) self.handler.events[:] = [] self.runTicks(1) expected = [('noteon', 1, i % 128, 100, i) for i in range(96, 101)] self.assertEquals(self.handler.events, expected) self.handler.events[:] = [] self.runTicks(1) self.failIf(self.handler.events)
class MidiDispatcherTests(TestCase, ClockRunner): def setUp(self): checkPypm() tempo = Tempo(153) self.meter = Meter(4, 4, tempo=tempo) self.clock = BeatClock(tempo=tempo, meter=self.meter, reactor=TestReactor()) self.midiin = FakeMidiInput() self.midiin._buffer.extend([[NOTEON_CHAN1, i % 128, 100, 0], i] for i in range(32 * 3 + 5)) self.handler = TestHandler() self.dispatcher = MidiDispatcher(self.midiin, [self.handler], clock=self.clock) self.dispatcher.start() def test_scheduling(self): self.runTicks(97) expected = [('noteon', 1, i % 128, 100, i) for i in range(64)] self.assertEquals(self.handler.events, expected) self.handler.events[:] = [] self.runTicks(1) expected = [('noteon', 1, i % 128, 100, i) for i in range(64, 96)] self.assertEquals(self.handler.events, expected) self.handler.events[:] = [] self.runTicks(1) expected = [('noteon', 1, i % 128, 100, i) for i in range(96, 101)] self.assertEquals(self.handler.events, expected) self.handler.events[:] = [] self.runTicks(1) self.failIf(self.handler.events)
def setUp(self): checkPypm() tempo = Tempo(153) self.meter = Meter(4, 4, tempo=tempo) self.clock = BeatClock(tempo=tempo, meter=self.meter, reactor=TestReactor()) self.midiin = FakeMidiInput() self.midiin._buffer.extend([[NOTEON_CHAN1, i % 128, 100, 0], i] for i in range(32 * 3 + 5)) self.handler = TestHandler() self.dispatcher = MidiDispatcher(self.midiin, [self.handler], clock=self.clock) self.dispatcher.start()
def setUp(self): checkPypm() tempo = Tempo(153) self.meter = Meter(4, 4, tempo=tempo) self.clock = BeatClock(tempo=tempo, meter=self.meter, reactor=TestReactor()) self.midiin = FakeMidiInput() self.midiin._buffer.extend([[NOTEON_CHAN1, i % 128, 100, 0], i] for i in range(32 * 3 + 5)) self.handler = TestHandler() self.dispatcher = MidiDispatcher(self.midiin, [self.handler], clock=self.clock) self.dispatcher.start()