Exemplo n.º 1
0
    def testInternalDataModel(self):

        dir = common.getPackageDir(relative=False, remapSep=os.sep)
        for fp in dir:
            if fp.endswith("midi"):
                break

        dirLib = os.path.join(fp, "testPrimitive")
        # a simple file created in athenacl
        fp = os.path.join(dirLib, "test01.mid")
        environLocal.printDebug([fp])
        mf = MidiFile()
        mf.open(fp)
        mf.read()
        mf.close()

        track2 = mf.tracks[1]
        # defines a channel object for each of 16 channels
        self.assertEqual(len(track2.channels), 16)
        # length seems to be the size of midi data in this track
        self.assertEqual(track2.length, 255)

        # a list of events
        self.assertEqual(len(track2.events), 116)

        i = 0
        while i < len(track2.events) - 1:
            self.assertTrue(isinstance(track2.events[i], DeltaTime))
            self.assertTrue(isinstance(track2.events[i + 1], MidiEvent))

            # environLocal.printDebug(['sample events: ', track2.events[i]])
            # environLocal.printDebug(['sample events: ', track2.events[i+1]])
            i += 2
Exemplo n.º 2
0
def _getPackagesList():
    """List of all packages, delimited by period, with relative path names. Assigned to setup.py's `packages` argument.
    """
    # example data
    #     pkg = (  'music21', 
    #              'music21.analysis', 
    #              'music21.composition', 

    pkg = common.getPackageDir()
    for dir in pkg:
        print('found package: %s' % dir)
    return pkg
Exemplo n.º 3
0
    def testBasicImport(self):

        dir = common.getPackageDir(relative=False, remapSep=os.sep)
        for fp in dir:
            if fp.endswith("midi"):
                break

        dirLib = os.path.join(fp, "testPrimitive")
        # a simple file created in athenacl
        fp = os.path.join(dirLib, "test01.mid")
        environLocal.printDebug([fp])
        mf = MidiFile()
        mf.open(fp)
        mf.read()
        mf.close()

        self.assertEqual(len(mf.tracks), 2)
        self.assertEqual(mf.ticksPerQuarterNote, 960)
        self.assertEqual(mf.ticksPerSecond, None)
        # self.assertEqual(mf.writestr, None)

        # try to write contents
        fileLikeOpen = StringIO.StringIO()
        mf.openFileLike(fileLikeOpen)
        mf.write()
        mf.close()

        # a simple file created in athenacl
        fp = os.path.join(dirLib, "test02.mid")
        environLocal.printDebug([fp])
        mf = MidiFile()
        mf.open(fp)
        mf.read()
        mf.close()

        self.assertEqual(len(mf.tracks), 5)
        self.assertEqual(mf.ticksPerQuarterNote, 1024)
        self.assertEqual(mf.ticksPerSecond, None)

        # try to write contents
        fileLikeOpen = StringIO.StringIO()
        mf.openFileLike(fileLikeOpen)
        mf.write()
        mf.close()

        # random files from the internet
        fp = os.path.join(dirLib, "test03.mid")
        environLocal.printDebug([fp])
        mf = MidiFile()
        mf.open(fp)
        mf.read()
        mf.close()

        self.assertEqual(len(mf.tracks), 4)
        self.assertEqual(mf.ticksPerQuarterNote, 1024)
        self.assertEqual(mf.ticksPerSecond, None)

        # try to write contents
        fileLikeOpen = StringIO.StringIO()
        mf.openFileLike(fileLikeOpen)
        mf.write()
        mf.close()

        # random files from the internet
        fp = os.path.join(dirLib, "test04.mid")
        environLocal.printDebug([fp])
        mf = MidiFile()
        mf.open(fp)
        mf.read()
        mf.close()

        self.assertEqual(len(mf.tracks), 18)
        self.assertEqual(mf.ticksPerQuarterNote, 480)
        self.assertEqual(mf.ticksPerSecond, None)

        # try to write contents
        fileLikeOpen = StringIO.StringIO()
        mf.openFileLike(fileLikeOpen)
        mf.write()
        mf.close()