예제 #1
0
    def testTuningProgram(self):
        #import pdb; pdb.set_trace()
        program = 10
        channel = 0
        MyMIDI = MIDIFile(1)
        MyMIDI.changeTuningProgram(0, 0, 0, program)
        MyMIDI.close()

        data = Decoder(MyMIDI.tracks[1].MIDIdata)

        self.assertEqual(MyMIDI.tracks[1].MIDIEventList[0].type,
                         'ControllerEvent')

        self.assertEqual(data.unpack_into_byte(0), 0x00)  # time
        self.assertEqual(data.unpack_into_byte(1), 0xB << 4 | channel)  # Code
        self.assertEqual(data.unpack_into_byte(2), 0x65)  # Controller Number
        self.assertEqual(data.unpack_into_byte(3), 0x0)  # Controller Value
        self.assertEqual(data.unpack_into_byte(4), 0x00)  # time
        self.assertEqual(data.unpack_into_byte(5), 0xB << 4 | channel)  # Code
        self.assertEqual(data.unpack_into_byte(6), 0x64)  # Controller Number
        self.assertEqual(data.unpack_into_byte(7), 0x03)  # Controller Value
        self.assertEqual(data.unpack_into_byte(8), 0x00)  # time
        self.assertEqual(data.unpack_into_byte(9), 0xB << 4 | channel)  # Code
        self.assertEqual(data.unpack_into_byte(10), 0x06)  # Bank MSB
        self.assertEqual(data.unpack_into_byte(11), 0x00)  # Value
        self.assertEqual(data.unpack_into_byte(12), 0x00)  # time
        self.assertEqual(data.unpack_into_byte(13), 0xB << 4 | channel)  # Code
        self.assertEqual(data.unpack_into_byte(14), 0x26)  # Bank LSB
        self.assertEqual(data.unpack_into_byte(15),
                         program)  # Bank value (bank number)
예제 #2
0
    def testTuningProgramWithTimeOrder(self):
        program = 10
        MyMIDI = MIDIFile(1)
        MyMIDI.changeTuningProgram(0, 0, 0, program, time_order=True)
        MyMIDI.close()

        data = Decoder(MyMIDI.tracks[1].MIDIdata)

        self.assertEqual(MyMIDI.tracks[1].MIDIEventList[0].evtname, 'ControllerEvent')

        self.assertEqual(data.unpack_into_byte(0), 0x00)              # time
        self.assertEqual(data.unpack_into_byte(4), 0x01)              # time
        self.assertEqual(data.unpack_into_byte(8), 0x01)              # time
        self.assertEqual(data.unpack_into_byte(12), 0x01)             # time