예제 #1
0
 def testAddPartGroup(self):
     part = PartNode()
     part2 = PartNode()
     self.item.AddNode(part, index="P1")
     self.item.AddNode(part2, index="P2")
     self.item.AddToGroup("wind", index="P1")
     self.item.AddToGroup("wind", index="P2")
     self.assertEqual(self.item.getGroup("wind"), ["P1", "P2"])
예제 #2
0
 def testFindMeasure(self):
     part = PartNode()
     staff = StaffNode.StaffNode()
     self.item.AddNode(part, index="P1")
     self.item.AddNode(staff, index=1)
     measure = MeasureNode.MeasureNode()
     self.item.AddNode(measure, index=1)
     self.assertEqual(part.getMeasure(1, 1), measure)
예제 #3
0
 def testFindMeasure(self):
     part = PartNode()
     staff = StaffNode.StaffNode()
     self.item.AddNode(part, index="P1")
     self.item.AddNode(staff, index=1)
     measure = MeasureNode.MeasureNode()
     self.item.AddNode(measure, index=1)
     self.assertEqual(part.getMeasure(1, 1), measure)
예제 #4
0
 def setUp(self):
     self.item = PartNode()
     self.item.addEmptyMeasure(1, 1)
     self.item.GetItem().name = "charlotte"
     self.lilystring = [
         "zerostaffone = \\new Staff \with {\ninstrumentName = \\markup { \n\r \\column { \n\r\r \\line { \"charlotte\" \n\r\r } \n\r } \n } \n }{ % measure 1\n | \n\n }\n\n",
         "\zerostaffone"
     ]
예제 #5
0
class testPartWithName(Lily):
    def setUp(self):
        self.item = PartNode()
        self.item.addEmptyMeasure(1,1)
        self.item.GetItem().name = "charlotte"
        self.lilystring = ["zerostaffone = \\new Staff \with {\ninstrumentName = \\markup { \n\r \\column { \n\r\r \\line { \"charlotte\" \n\r\r } \n\r } \n } \n }{ % measure 1\n | \n\n }\n\n", "\zerostaffone"]

    def tearDown(self):
        self.item = None
예제 #6
0
class testPartMeasureWithNote(Lily):
    def setUp(self):
        self.item = PartNode()
        self.item.addEmptyMeasure(1,1)
        measure = self.item.getMeasure(1,1)
        note = Note.Note()
        note.pitch = Note.Pitch()
        measure.addNote(note)
        self.lilystring = ["zerostaffone = \\new Staff{ % measure 1\nc'  | \n\n }\n\n", '\\zerostaffone']
예제 #7
0
 def testAddMeasureOnSecondStave(self):
     part = PartNode()
     staff = StaffNode.StaffNode()
     staff2 = StaffNode.StaffNode()
     measure = MeasureNode.MeasureNode()
     self.item.AddNode(part, index="P1")
     self.item.AddNode(staff, index=1)
     self.item.AddNode(staff2, index=2)
     part.addMeasure(measure, staff=2)
     self.assertEqual(part.getMeasure(1, 2), measure)
예제 #8
0
 def testAddMeasureOnSecondStave(self):
     part = PartNode()
     staff = StaffNode.StaffNode()
     staff2 = StaffNode.StaffNode()
     measure = MeasureNode.MeasureNode()
     self.item.AddNode(part, index="P1")
     self.item.AddNode(staff, index=1)
     self.item.AddNode(staff2, index=2)
     part.addMeasure(measure, staff=2)
     self.assertEqual(part.getMeasure(1, 2), measure)
예제 #9
0
 def setUp(self):
     self.item = PartNode()
     self.item.addEmptyMeasure(1, 1)
     measure = self.item.getMeasure(1, 1)
     note = Note.Note()
     note.pitch = Note.Pitch()
     measure.addNote(note)
     self.lilystring = [
         "zerostaffone = \\new Staff{ % measure 1\nc'  | \n\n }\n\n",
         '\\zerostaffone'
     ]
예제 #10
0
class testPartMultiBars(Lily):
    def setUp(self):
        self.item = PartNode()
        self.item.addEmptyMeasure(1,1)
        self.item.addEmptyMeasure(2,1)
        measure2 = self.item.getMeasure(2,1)
        measure = self.item.getMeasure(1,1)
        note = Note.Note()
        note.pitch = Note.Pitch()
        note2 = Note.Note()
        note2.pitch = Note.Pitch()
        measure.addNote(note)
        measure2.addNote(note2)
        self.lilystring = ["zerostaffone = \\new Staff{ % measure 1\nc'  | \n\n % measure 2\nc'  | \n\n }\n\n","\\zerostaffone"]
예제 #11
0
class testPartMultistafftaves(Lily):
    def setUp(self):
        self.item = PartNode()
        self.item.addEmptyMeasure(1,1)
        self.item.addEmptyMeasure(1,2)
        measure1 = self.item.getMeasure(1,1)
        measure2 = self.item.getMeasure(1,2)
        note1 = Note.Note()
        note1.pitch = Note.Pitch()
        note2 = Note.Note()
        note2.pitch = Note.Pitch()
        measure1.addNote(note1)
        measure2.addNote(note2)
        self.lilystring = ["zerostaffone = \\new Staff{ % measure 1\nc'  | \n\n }\n\nzerostafftwo = \\new Staff{ % measure 1\nc'  | \n\n }\n\n", "\\new StaffGroup <<\zerostaffone\n\zerostafftwo>>"]
예제 #12
0
 def setUp(self):
     self.item = PartNode()
     self.item.addEmptyMeasure(1, 1)
     self.item.addEmptyMeasure(1, 2)
     measure1 = self.item.getMeasure(1, 1)
     measure2 = self.item.getMeasure(1, 2)
     note1 = Note.Note()
     note1.pitch = Note.Pitch()
     note2 = Note.Note()
     note2.pitch = Note.Pitch()
     measure1.addNote(note1)
     measure2.addNote(note2)
     self.lilystring = [
         "zerostaffone = \\new Staff{ % measure 1\nc'  | \n\n }\n\nzerostafftwo = \\new Staff{ % measure 1\nc'  | \n\n }\n\n",
         "\\new StaffGroup <<\zerostaffone\n\zerostafftwo>>"
     ]
예제 #13
0
 def setUp(self):
     self.item = PartNode()
     self.item.GetItem().name = "Piano"
     self.item.addEmptyMeasure(1, 1)
     measure = self.item.getMeasure(1, 1)
     note = Note.Note()
     note.pitch = Note.Pitch()
     measure.addNote(note)
     self.item.addEmptyMeasure(1, 2)
     measure2 = self.item.getMeasure(1, 2)
     note2 = Note.Note()
     note2.pitch = Note.Pitch()
     measure2.addNote(note2)
     self.lilystring = [
         "zerostaffone = \\new Staff{ % measure 1\nc'  | \n\n }\n\nzerostafftwo = \\new Staff{ % measure 1\nc'  | \n\n }\n\n",
         "\\new StaffGroup \\with {\ninstrumentName = \markup { \n\r \column { \n\r\r \line { \"Piano\" \n\r\r } \n\r } \n } \n }<<\zerostaffone\n\zerostafftwo>>"
     ]
예제 #14
0
class testPartMultiBars(Lily):
    def setUp(self):
        self.item = PartNode()
        self.item.addEmptyMeasure(1, 1)
        self.item.addEmptyMeasure(2, 1)
        measure2 = self.item.getMeasure(2, 1)
        measure = self.item.getMeasure(1, 1)
        note = Note.Note()
        note.pitch = Note.Pitch()
        note2 = Note.Note()
        note2.pitch = Note.Pitch()
        measure.addNote(note)
        measure2.addNote(note2)
        self.lilystring = [
            "zerostaffone = \\new Staff{ % measure 1\nc'  | \n\n % measure 2\nc'  | \n\n }\n\n",
            "\\zerostaffone"
        ]
예제 #15
0
 def setUp(self):
     self.item = PartNode()
     self.item.GetItem().name = "Piano"
     self.item.addEmptyMeasure(1,1)
     measure = self.item.getMeasure(1,1)
     note = Note.Note()
     note.pitch = Note.Pitch()
     measure.addNote(note)
     self.item.addEmptyMeasure(1,2)
     measure2 = self.item.getMeasure(1,2)
     note2 = Note.Note()
     note2.pitch = Note.Pitch()
     measure2.addNote(note2)
     self.lilystring = ["zerostaffone = \\new Staff{ % measure 1\nc'  | \n\n }\n\nzerostafftwo = \\new Staff{ % measure 1\nc'  | \n\n }\n\n", "\\new StaffGroup \\with {\ninstrumentName = \markup { \n\r \column { \n\r\r \line { \"Piano\" \n\r\r } \n\r } \n } \n }<<\zerostaffone\n\zerostafftwo>>"]
예제 #16
0
 def setUp(self):
     self.item = PartNode()
     self.item.addEmptyMeasure(1,1)
     measure = self.item.getMeasure(1,1)
     note = Note.Note()
     note.pitch = Note.Pitch()
     measure.addNote(note)
     self.item.addEmptyMeasure(1,2)
     measure2 = self.item.getMeasure(1,2)
     note2 = Note.Note()
     note2.pitch = Note.Pitch()
     measure2.addNote(note2)
     self.item.addEmptyMeasure(2,1)
     measure3 = self.item.getMeasure(2,1)
     note3 = Note.Note()
     note3.pitch = Note.Pitch()
     measure3.addNote(note3)
     self.lilystring = ["zerostaffone = \\new Staff{ % measure 1\nc'  | \n\n % measure 2\nc'  | \n\n }\n\nzerostafftwo = \\new Staff{ % measure 1\nc'  | \n\n }\n\n", "\\new StaffGroup <<\\zerostaffone\n\\zerostafftwo>>"]
예제 #17
0
 def setUp(self):
     self.item = PieceTree.PieceTree()
     self.part = PartNode()
     self.item.AddNode(self.part, index="P1")
     self.part.addEmptyMeasure()
     self.measure = self.part.getMeasure()
예제 #18
0
class testAddToMeasure(unittest.TestCase):
    def setUp(self):
        self.item = PieceTree.PieceTree()
        self.part = PartNode()
        self.item.AddNode(self.part, index="P1")
        self.part.addEmptyMeasure()
        self.measure = self.part.getMeasure()

    def testAddNote(self):
        note = "3"
        self.measure.addNote(note)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetItem(), note)

    def testAddDirection(self):
        direction = "2"
        self.measure.addDirection(direction)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetChild(1).GetItem(), direction)

    def testAddExpression(self):
        exp = "2"
        self.measure.addExpression(exp)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetChild(0).GetItem(), exp)

    def testAddPlaceholder(self):
        self.measure.addPlaceholder()
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetItem(), None)

    def testAddNoteWithPlaceholderBeforeIt(self):
        note = 2
        self.measure.addNote(note)
        self.measure.index = 0
        self.measure.addPlaceholder()
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetItem(), None)

    def testForward(self):
        self.measure.addNote(1)
        self.measure.Forward(duration=16)
        self.assertEqual(self.measure.index, 2)

    def testBackup(self):
        self.measure.addNote(1)
        self.measure.Backup(duration=15)
        self.assertEqual(self.measure.index, 0)

    def testForwardCreatesAPlaceholder(self):
        self.measure.addNote(1)
        self.measure.Forward(duration=16)
        voice = self.measure.getVoice(1)
        self.assertIsInstance(voice.GetChild(1), NoteNode.NoteNode)

    def testBackupAndAddNote(self):
        self.measure.addNote(1)
        self.measure.Backup(duration=15)
        self.measure.addNote(2)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetItem(), 2)

    def testAddDirectionThenNode(self):
        dir = 1
        note = 3
        self.measure.addDirection(dir)
        self.measure.addNote(note)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetItem(), note)

    def testAddDirectionToSecondNote(self):
        dir = 1
        note = 2
        note1 = 3
        self.measure.addNote(note)
        self.measure.addDirection(dir)
        self.measure.addNote(note1)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(1).GetChild(1).GetItem(), dir)

    def testAddChordNote(self):
        note = 2
        note1 = 3
        self.measure.addNote(note)
        self.measure.addNote(note1, chord=True)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetChild(0).GetItem(), 3)

    def testAddExpressionThenChordNote(self):
        note = 2
        note1 = 3
        exp = 0
        self.measure.addNote(note)
        self.measure.addExpression(exp)
        self.measure.addNote(note1, chord=True)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetChild(0).GetItem(), 3)

    def testLilyOutputOfPlaceholders(self):
        self.measure.addPlaceholder()
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).toLily(), "")

    def testLilyOutputOfPlaceholdersWithChildren(self):
        self.measure.addPlaceholder()
        self.measure.addDirection(1)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).toLily(), "")
예제 #19
0
 def testFindStaff(self):
     part = PartNode()
     staff = StaffNode.StaffNode()
     self.item.AddNode(part, index="P1")
     self.item.AddNode(staff, index=1)
     self.assertEqual(part.getStaff(1), staff)
예제 #20
0
 def setUp(self):
     self.item = PieceTree.PieceTree()
     self.part = PartNode()
     self.item.AddNode(self.part, index="P1")
     self.part.addEmptyMeasure()
     self.measure = self.part.getMeasure()
예제 #21
0
class testAddToMeasure(unittest.TestCase):

    def setUp(self):
        self.item = PieceTree.PieceTree()
        self.part = PartNode()
        self.item.AddNode(self.part, index="P1")
        self.part.addEmptyMeasure()
        self.measure = self.part.getMeasure()

    def testAddNote(self):
        note = "3"
        self.measure.addNote(note)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetItem(), note)

    def testAddDirection(self):
        direction = "2"
        self.measure.addDirection(direction)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetChild(1).GetItem(), direction)

    def testAddExpression(self):
        exp = "2"
        self.measure.addExpression(exp)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetChild(0).GetItem(), exp)

    def testAddPlaceholder(self):
        self.measure.addPlaceholder()
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetItem(), None)

    def testAddNoteWithPlaceholderBeforeIt(self):
        note = 2
        self.measure.addNote(note)
        self.measure.index = 0
        self.measure.addPlaceholder()
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetItem(), None)

    def testForward(self):
        self.measure.addNote(1)
        self.measure.Forward(duration=16)
        self.assertEqual(self.measure.index, 2)

    def testBackup(self):
        self.measure.addNote(1)
        self.measure.Backup(duration=15)
        self.assertEqual(self.measure.index, 0)

    def testForwardCreatesAPlaceholder(self):
        self.measure.addNote(1)
        self.measure.Forward(duration=16)
        voice = self.measure.getVoice(1)
        self.assertIsInstance(voice.GetChild(1), NoteNode.NoteNode)

    def testBackupAndAddNote(self):
        self.measure.addNote(1)
        self.measure.Backup(duration=15)
        self.measure.addNote(2)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetItem(), 2)

    def testAddDirectionThenNode(self):
        dir = 1
        note = 3
        self.measure.addDirection(dir)
        self.measure.addNote(note)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetItem(), note)

    def testAddDirectionToSecondNote(self):
        dir = 1
        note = 2
        note1 = 3
        self.measure.addNote(note)
        self.measure.addDirection(dir)
        self.measure.addNote(note1)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(1).GetChild(1).GetItem(), dir)

    def testAddChordNote(self):
        note = 2
        note1 = 3
        self.measure.addNote(note)
        self.measure.addNote(note1, chord=True)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetChild(0).GetItem(), 3)

    def testAddExpressionThenChordNote(self):
        note = 2
        note1 = 3
        exp = 0
        self.measure.addNote(note)
        self.measure.addExpression(exp)
        self.measure.addNote(note1, chord=True)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).GetChild(0).GetItem(), 3)

    def testLilyOutputOfPlaceholders(self):
        self.measure.addPlaceholder()
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).toLily(), "")

    def testLilyOutputOfPlaceholdersWithChildren(self):
        self.measure.addPlaceholder()
        self.measure.addDirection(1)
        voice = self.measure.getVoice(1)
        self.assertEqual(voice.GetChild(0).toLily(), "")
예제 #22
0
 def testAddPart(self):
     part = PartNode()
     self.item.AddNode(part, index="P1")
     self.assertEqual(self.item.FindNodeByIndex("P1"), part)
예제 #23
0
 def testFindStaff(self):
     part = PartNode()
     staff = StaffNode.StaffNode()
     self.item.AddNode(part, index="P1")
     self.item.AddNode(staff, index=1)
     self.assertEqual(part.getStaff(1), staff)