Esempio n. 1
0
 def saveScore(self, filename):
     try:
         ScoreSerializer.saveScore(self._score, filename)
     except StandardError, exc:
         msg = "Error saving DrumBurp file: %s" % unicode(exc)
         QtGui.QMessageBox.warning(self.parent(), "Score save error", msg)
         return False
Esempio n. 2
0
 def saveScore(self, filename):
     try:
         ScoreSerializer.saveScore(self._score, filename)
     except StandardError, exc:
         msg = "Error saving DrumBurp file: %s" % unicode(exc)
         QtGui.QMessageBox.warning(self.parent(),
                                   "Score save error",
                                   msg)
         return False
 def testReadV1WriteV1(self):
     print "Read Version 1, Write Version 1"
     fileglob = os.path.join("testdata", "v1", "*.brp")
     for testfile in glob.glob(fileglob):
         print testfile
         score = ScoreSerializer.loadScore(testfile)
         written = StringIO()
         ScoreSerializer.write(score, written, DBConstants.DBFF_1)
         written.seek(0)
         score2 = ScoreSerializer.read(written)
         self.assertEqual(score.hashScore(), score2.hashScore())
Esempio n. 4
0
 def testReadV0WriteV1ReadV1(self):
     print "Read Version 0, Write Version 1"
     fileglob = os.path.join("testdata", "v0", "*.brp")
     for testfile in glob.glob(fileglob):
         print testfile
         score = ScoreSerializer.loadScore(testfile)
         written = StringIO()
         ScoreSerializer.write(score, written, DBConstants.DBFF_1)
         written.seek(0)
         score2 = ScoreSerializer.read(written)
         self.assertEqual(score.hashScore(), score2.hashScore())
 def testReadV1WriteV1(self):
     print "Read Version 1, Write Version 1"
     fileglob = os.path.join("testdata", "v1", "*.brp")
     for testfile in glob.glob(fileglob):
         print testfile
         score = ScoreSerializer.loadScore(testfile)
         written = StringIO()
         ScoreSerializer.write(score, written, DBConstants.DBFF_1)
         with fileUtils.DataReader(testfile) as reader:
             data = reader.read().splitlines()
         written = written.getvalue().splitlines()
         self.assertEqual(data, written)
 def testVersion0Files(self):
     print "Version 0"
     fileglob = os.path.join("testdata", "v0", "*.brp")
     for testfile in glob.glob(fileglob):
         print testfile
         score = ScoreSerializer.loadScore(testfile)
         written = StringIO()
         ScoreSerializer.write(score, written, DBConstants.DBFF_0)
         with fileUtils.DataReader(testfile) as reader:
             data = reader.read().splitlines()
         written = written.getvalue().splitlines()
         while True:
             try:
                 self._compareData(data, written)
                 break
             except self.NoFF:
                 written = written[1:]
             except self.MCounts:
                 written = [
                     x for x in written
                     if not x.lstrip().startswith("MEASURECOUNTSVISIBLE")
                 ]
             except self.Barline:
                 data = [x.replace('NORMAL_BAR,', '') for x in data]
             except self.NoLilyFormat:
                 written = [
                     x for x in written
                     if not x.lstrip().startswith("LILYFORMAT")
                 ]
             except self.NoLilySize:
                 written = [
                     x for x in written
                     if not x.lstrip().startswith("LILYSIZE")
                 ]
             except self.NoLilyPages:
                 written = [
                     x for x in written
                     if not x.lstrip().startswith("LILYPAGES")
                 ]
             except self.NoLilyFill:
                 written = [
                     x for x in written
                     if not x.lstrip().startswith("LILYFILL")
                 ]
             except self.ShortNoteHeads:
                 data, written = self._tidyShortNoteHeads(data, written)
             except self.OldTriplets:
                 data = [x.replace("|^ea|", "|^+a|") for x in data]
             except self.NoNoteheads:
                 written = [x for x in written if "NOTEHEAD" not in x]
                 data = [x for x in data if "NOTEHEAD" not in x]
 def testWriteUnicode(self):
     tmp = tempfile.NamedTemporaryFile(suffix=".brp",
                                       prefix="unicode_test_v1",
                                       delete=False)
     try:
         tmp.close()
         score = ScoreFactory.makeEmptyScore(8)
         score.scoreData.title = u"\u20b9"
         ScoreSerializer.saveScore(score, tmp.name)
         score2 = ScoreSerializer.loadScore(tmp.name)
         self.assertEqual(score.hashScore(), score2.hashScore())
         self.assertEqual(score2.scoreData.title, u"\u20b9")
     finally:
         try:
             tmp.close()
         except RuntimeError:
             pass
         os.unlink(tmp.name)
Esempio n. 8
0
 def loadScore(self, filename, quiet=False):
     try:
         newScore = ScoreSerializer.loadScore(filename)
     except DBErrors.DbReadError, exc:
         if not quiet:
             msg = "Error loading DrumBurp file %s" % filename
             QtGui.QMessageBox.warning(self.parent(), "Score load error",
                                       msg + "\n" + unicode(exc))
         return False
Esempio n. 9
0
 def loadScore(self, filename, quiet = False):
     try:
         newScore = ScoreSerializer.loadScore(filename)
     except DBErrors.DbReadError, exc:
         if not quiet:
             msg = "Error loading DrumBurp file %s" % filename
             QtGui.QMessageBox.warning(self.parent(),
                                       "Score load error",
                                       msg + "\n" + unicode(exc))
         return False
Esempio n. 10
0
 def testReadNoFileFormatNumber(self):
     handle = StringIO(self.ff_zero_data)
     score = ScoreSerializer.read(handle)
     self.assert_(score.lilyFill)
     self.assertEqual(score.lilypages, 2)
     self.assertEqual(score.lilysize, 18)
     self.assertEqual(score.scoreData.title, "Sample")
     self.assertEqual(score.numSections(), 1)
     self.assertEqual(score.getSectionTitle(0), "A title")
     self.assertEqual(score.numMeasures(), 7)
     self.assert_(score.drumKit[1].isAllowedHead('q'))
Esempio n. 11
0
 def testReadNoFileFormatNumber(self):
     handle = StringIO(self.ff_zero_data)
     score = ScoreSerializer.read(handle)
     self.assert_(score.lilyFill)
     self.assertEqual(score.lilypages, 2)
     self.assertEqual(score.lilysize, 18)
     self.assertEqual(score.scoreData.title, "Sample")
     self.assertEqual(score.numSections(), 1)
     self.assertEqual(score.getSectionTitle(0), "A title")
     self.assertEqual(score.numMeasures(), 7)
     self.assert_(score.drumKit[1].isAllowedHead('q'))
Esempio n. 12
0
 def testVersion0Files(self):
     print "Version 0"
     fileglob = os.path.join("testdata", "v0", "*.brp")
     for testfile in glob.glob(fileglob):
         print testfile
         score = ScoreSerializer.loadScore(testfile)
         written = StringIO()
         ScoreSerializer.write(score, written, DBConstants.DBFF_0)
         with fileUtils.DataReader(testfile) as reader:
             data = reader.read().splitlines()
         written = written.getvalue().splitlines()
         while True:
             try:
                 self._compareData(data, written)
                 break
             except self.NoFF:
                 written = written[1:]
             except self.MCounts:
                 written = [x for x in written
                            if not x.lstrip().startswith("MEASURECOUNTSVISIBLE")]
             except self.Barline:
                 data = [x.replace('NORMAL_BAR,', '') for x in data]
             except self.NoLilyFormat:
                 written = [x for x in written
                            if not x.lstrip().startswith("LILYFORMAT")]
             except self.NoLilySize:
                 written = [x for x in written
                            if not x.lstrip().startswith("LILYSIZE")]
             except self.NoLilyPages:
                 written = [x for x in written
                            if not x.lstrip().startswith("LILYPAGES")]
             except self.ShortNoteHeads:
                 data, written = self._tidyShortNoteHeads(data, written)
             except self.OldTriplets:
                 data = [x.replace("|^ea|", "|^+a|") for x in data]
             except self.NoNoteheads:
                 written = [x for x in written if "NOTEHEAD" not in x]
                 data = [x for x in data if "NOTEHEAD" not in x]