Esempio n. 1
0
 def setUp(self):
     self.commonbar = Bar()
     self.ebar = Bar('E', (4, 4))
     self.fbar = Bar('F', (6, 8))
     self.tbar = Bar('C', (4, 4))
     self.mbar = Bar('C', (4, 4))
     for y in [self.commonbar, self.ebar, self.fbar]:
         map(lambda x: y + x, ['C', 'E', 'G', 'B'])
     map(lambda x: self.tbar.place_notes(NoteContainer(x), 6), [
         'C',
         'E',
         'G',
         'B',
         'C',
         'E',
     ])
     map(lambda x: self.mbar.place_notes(NoteContainer(x), 4), ['C', 'E'])
     map(lambda x: self.mbar.place_notes(NoteContainer(x), 6),
         ['G', 'B', 'C'])
     self.track1 = Track()
     self.track1 + self.commonbar
     self.track2 = Track()
     self.track2 + self.commonbar
     self.track2 + self.ebar
     self.composition1 = Composition()
     self.composition1.add_track(self.track1)
     self.composition2 = Composition()
     self.composition2.add_track(self.track1)
     self.composition2.add_track(self.track2)
 def setUp(self):
     self.commonbar = Bar()
     self.ebar = Bar('E', (4, 4))
     self.fbar = Bar('F', (6, 8))
     self.tbar = Bar('C', (4, 4))
     self.mbar = Bar('C', (4, 4))
     for y in [self.commonbar, self.ebar, self.fbar]:
         map(lambda x: y + x, ['C', 'E', 'G', 'B'])
     map(lambda x: self.tbar.place_notes(NoteContainer(x), 6), [
         'C',
         'E',
         'G',
         'B',
         'C',
         'E',
         ])
     map(lambda x: self.mbar.place_notes(NoteContainer(x), 4), ['C', 'E'])
     map(lambda x: self.mbar.place_notes(NoteContainer(x), 6), ['G', 'B', 'C'
         ])
     self.track1 = Track()
     self.track1 + self.commonbar
     self.track2 = Track()
     self.track2 + self.commonbar
     self.track2 + self.ebar
     self.composition1 = Composition()
     self.composition1.add_track(self.track1)
     self.composition2 = Composition()
     self.composition2.add_track(self.track1)
     self.composition2.add_track(self.track2)
Esempio n. 3
0
	def output_midi(self):
		c = Composition()
		print 
		print "Writing MIDI file %s..." % self.output_file
		for s in self.instruments:
			if hasattr(s, 'bar'):
				s.track + s.bar
			c.add_track(s.track)
		
		MidiFileOut.write_Composition(self.output_file, c, self.bpm , 0)
Esempio n. 4
0
def index():
    if request.method == 'POST':
        keys = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"]
        meters = [(2,2), (2,4), (3,4), (4,4)]
        bars = int(request.form['bars'])
	key = keys[int(request.form['key'])]
        meter = meters[int(request.form['meter'])]
        scale = int(request.form['scale'])

        composition = Composition()
        composition.set_author("by givemeasheet.com", "*****@*****.**")
        composition.set_title("%d bars exercise in %s" % (bars, key))
        
        track = Track(Guitar())
       
        dificulty = 3
        if scale == 0:
            scale = scales.diatonic(key)
            scale_name = "Natural Major"
        elif scale == 1:
            scale = scales.natural_minor(key)
            scale_name = "Natural Minor"
        elif scale == 2:
            scale = scales.harmonic_minor(key)
            scale_name = "Minor Harmonic"
        elif scale == 3:
            scale = scales.melodic_minor(key)
            scale_name = "Minor Melodic"
        
        composition.subtitle = scale_name

        for bar in range(0,bars):
            bar = Bar(key, meter)
        
            while not bar.is_full():
                # Random note
                index = randrange(dificulty)
                note = Note(scale[index])
                possibles = get_possibles(bar)
                bar.place_notes(note, possibles[randrange(len(possibles))])
        
            track.add_bar(bar)
        
        composition.add_track(track)
        
        l = LilyPond.from_Composition(composition)
        u = uuid.uuid1()
        file_name = "/var/www/givemeasheet/givemeasheet/static/sheets/%s" % u.hex
        LilyPond.save_string_and_execute_LilyPond(l, file_name, "-fpng")
        sheet="/static/sheets/%s.png" % os.path.basename(file_name)
        midi="/static/sheets/%s.midi" % os.path.basename(file_name)
        MidiFileOut.write_Composition("%s.midi" % file_name, composition)

        return render_template('index.html', sheet=sheet, midi=midi)
    else:
        return render_template('index.html')
Esempio n. 5
0
 def to_png(self):
     c = Composition()
     c.set_author(self.author)
     c.set_title(self.title)
     c.add_track(self.track)
     ly_string = LilyPond.from_Composition(c)
     #print ly_string
     LilyPond.to_png(ly_string, self.title)
Esempio n. 6
0
def main():
    key = 'G'
    rhythm_track = blues.rhythm_track(key, repititions=1)
    melody_track = Track()
    for bar_number in xrange(12):
        melody_track.add_bar(blues.make_melody_bar(key))

    composition = Composition()
    composition.add_track(melody_track)
    composition.add_track(rhythm_track)


    #This is a basically MidiFileOut.write_Composition without the write to a file part
    #TODO patch MidiFileOut
    m = mfo.MidiFile()
    t = []
    for x in range(len(composition.tracks)):
        t += [MidiTrack(120)] #120 bpm
    m.tracks = t
    for i in range(len(composition.tracks)):
        m.tracks[i].play_Track(composition.tracks[i])

    return Response(m.get_midi_data(), mimetype='audio/midi')
Esempio n. 7
0
def from_Track(track):
    c = Composition()
    c.add_track(track)
    return _composition2musicxml(c).toprettyxml()
Esempio n. 8
0
def from_Bar(bar):
    c = Composition()
    t = Track()
    t.add_bar(bar)
    c.add_track(t)
    return _composition2musicxml(c).toprettyxml()
Esempio n. 9
0
def from_Note(note):
    c = Composition()
    c.add_note(note)
    return _composition2musicxml(c).toprettyxml()
Esempio n. 10
0
                   major_scale[6],
                   seventh]

    return blues_scale

def down_octave(bar):
    for chord in [beat[2] for beat in bar]:
        for note in chord:
            note.octave_down()

    return bar

if __name__ == '__main__':
    key = 'C'

    rhythm_track = Track()
    melody_track = Track()

    progression = standard_progression()

    for chord in progression:
        rhythm_track.add_bar(make_rhythm_bar(chord, key))
        melody_track.add_bar(make_melody_bar(key))

    composition = Composition()
    composition.add_track(melody_track)
    composition.add_track(rhythm_track)

    MidiFileOut.write_Composition('blues.mid', composition)

class test_LilyPond(unittest.TestCase):

    def setUp(self):
        self.commonbar = Bar()
        self.ebar = Bar('E', (4, 4))
        self.fbar = Bar('F', (6, 8))
        self.tbar = Bar('C', (4, 4))
        self.mbar = Bar('C', (4, 4))
        for y in [self.commonbar, self.ebar, self.fbar]:
            map(lambda x: y + x, ['C', 'E', 'G', 'B'])
        map(lambda x: self.tbar.place_notes(NoteContainer(x), 6), [
            'C',
            'E',
            'G',
            'B',
            'C',
            'E',
            ])
        map(lambda x: self.mbar.place_notes(NoteContainer(x), 4), ['C', 'E'])
        map(lambda x: self.mbar.place_notes(NoteContainer(x), 6), ['G', 'B', 'C'
            ])
        self.track1 = Track()
        self.track1 + self.commonbar
        self.track2 = Track()
        self.track2 + self.commonbar
        self.track2 + self.ebar
        self.composition1 = Composition()
        self.composition1.add_track(self.track1)
        self.composition2 = Composition()
        self.composition2.add_track(self.track1)
        self.composition2.add_track(self.track2)

    def test_from_Note(self):
        self.assertEqual(LilyPond.from_Note(Note('C'), standalone=False), "c'")
        self.assertEqual(LilyPond.from_Note(Note('C#'), standalone=False),
                         "cis'")
        self.assertEqual(LilyPond.from_Note(Note('C##'), standalone=False),
                         "cisis'")
        self.assertEqual(LilyPond.from_Note(Note('Cb'), standalone=False),
                         "ces'")
        self.assertEqual(LilyPond.from_Note(Note('Cbb'), standalone=False),
                         "ceses'")
        self.assertEqual(LilyPond.from_Note(Note('C', 0), standalone=False),
                         'c,,,')
        self.assertEqual(LilyPond.from_Note(Note('C', 1), standalone=False),
                         'c,,')
        self.assertEqual(LilyPond.from_Note(Note('C', 2), standalone=False),
                         'c,')
        self.assertEqual(LilyPond.from_Note(Note('C', 3), standalone=False), 'c'
                         )
        self.assertEqual(LilyPond.from_Note(Note('C', 4), standalone=False),
                         "c'")
        self.assertEqual(LilyPond.from_Note(Note('C', 5), standalone=False),
                         "c''")
        self.assertEqual(LilyPond.from_Note(Note('C', 6), standalone=False),
                         "c'''")
        self.assertEqual(LilyPond.from_Note(Note('C', 7), standalone=False),
                         "c''''")

    def test_from_NoteContainer(self):
        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer('C'),
                         standalone=False), "c'")
        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer('C'), 4,
                         standalone=False), "c'4")
        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer(['C', 'E']),
                         standalone=False), "<c' e'>")
        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer(['C', 'E']),
                         4, standalone=False), "<c' e'>4")

        # issue #37

        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer('C'), 16,
                         standalone=False), "c'16")
        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer('C'), 16.0,
                         standalone=False), "c'16")
        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer('C'),
                         value.dots(16), standalone=False), "c'16.")
        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer('C'), 0.25,
                         standalone=False), "c'\\longa")
        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer('C'), 0.5,
                         standalone=False), "c'\\breve")

    def test_from_Bar(self):
        self.assertEqual(LilyPond.from_Bar(self.commonbar),
                         "{ \\time 4/4 \\key c \\major c'4 e'4 g'4 b'4 }")
        self.assertEqual(LilyPond.from_Bar(self.ebar),
                         "{ \\time 4/4 \\key e \\major c'4 e'4 g'4 b'4 }")
        self.assertEqual(LilyPond.from_Bar(self.fbar),
                         "{ \\time 6/8 \\key f \\major c'8 e'8 g'8 b'8 }")

    def test_from_Track(self):
        self.assertEqual(LilyPond.from_Track(self.track1),
                         "{ { c'4 e'4 g'4 b'4 } }")
        self.assertEqual(LilyPond.from_Track(self.track2),
                         "{ { c'4 e'4 g'4 b'4 } { \\key e \\major c'4 e'4 g'4 b'4 } }"
                         )

    def test_from_Composition(self):
        self.assertEqual(LilyPond.from_Composition(self.composition1),
                         '\\header { title = "Untitled" composer = "" opus = "" } { { c\'4 e\'4 g\'4 b\'4 } }'
                         )
        self.assertEqual(LilyPond.from_Composition(self.composition2),
                         '\\header { title = "Untitled" composer = "" opus = "" } { { c\'4 e\'4 g\'4 b\'4 } } { { c\'4 e\'4 g\'4 b\'4 } { \\key e \\major c\'4 e\'4 g\'4 b\'4 } }'
                         )

    def test_from_Suite(self):
        LilyPond.from_Suite(None)

    def test_dotted_notes(self):
        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer('C'),
                         value.dots(8), standalone=False), "c'8.")
        self.assertEqual(LilyPond.from_NoteContainer(NoteContainer('C'),
                         value.dots(4, 2), standalone=False), "c'4..")

    def test_to_pdf(self):
        self.assert_(LilyPond.to_pdf('{ %s }'
                      % LilyPond.from_NoteContainer(NoteContainer('C'),
                     value.dots(8)), 'pdftest first test'))
        self.assert_(LilyPond.to_pdf(LilyPond.from_Bar(self.tbar), 'pdftest2'))
        self.assert_(LilyPond.to_pdf(LilyPond.from_Bar(self.mbar), 'pdftest3'))
Esempio n. 12
0
class test_LilyPond(unittest.TestCase):
    def setUp(self):
        self.commonbar = Bar()
        self.ebar = Bar('E', (4, 4))
        self.fbar = Bar('F', (6, 8))
        self.tbar = Bar('C', (4, 4))
        self.mbar = Bar('C', (4, 4))
        for y in [self.commonbar, self.ebar, self.fbar]:
            map(lambda x: y + x, ['C', 'E', 'G', 'B'])
        map(lambda x: self.tbar.place_notes(NoteContainer(x), 6), [
            'C',
            'E',
            'G',
            'B',
            'C',
            'E',
        ])
        map(lambda x: self.mbar.place_notes(NoteContainer(x), 4), ['C', 'E'])
        map(lambda x: self.mbar.place_notes(NoteContainer(x), 6),
            ['G', 'B', 'C'])
        self.track1 = Track()
        self.track1 + self.commonbar
        self.track2 = Track()
        self.track2 + self.commonbar
        self.track2 + self.ebar
        self.composition1 = Composition()
        self.composition1.add_track(self.track1)
        self.composition2 = Composition()
        self.composition2.add_track(self.track1)
        self.composition2.add_track(self.track2)

    def test_from_Note(self):
        self.assertEqual(LilyPond.from_Note(Note('C'), standalone=False), "c'")
        self.assertEqual(LilyPond.from_Note(Note('C#'), standalone=False),
                         "cis'")
        self.assertEqual(LilyPond.from_Note(Note('C##'), standalone=False),
                         "cisis'")
        self.assertEqual(LilyPond.from_Note(Note('Cb'), standalone=False),
                         "ces'")
        self.assertEqual(LilyPond.from_Note(Note('Cbb'), standalone=False),
                         "ceses'")
        self.assertEqual(LilyPond.from_Note(Note('C', 0), standalone=False),
                         'c,,,')
        self.assertEqual(LilyPond.from_Note(Note('C', 1), standalone=False),
                         'c,,')
        self.assertEqual(LilyPond.from_Note(Note('C', 2), standalone=False),
                         'c,')
        self.assertEqual(LilyPond.from_Note(Note('C', 3), standalone=False),
                         'c')
        self.assertEqual(LilyPond.from_Note(Note('C', 4), standalone=False),
                         "c'")
        self.assertEqual(LilyPond.from_Note(Note('C', 5), standalone=False),
                         "c''")
        self.assertEqual(LilyPond.from_Note(Note('C', 6), standalone=False),
                         "c'''")
        self.assertEqual(LilyPond.from_Note(Note('C', 7), standalone=False),
                         "c''''")

    def test_from_NoteContainer(self):
        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer('C'), standalone=False),
            "c'")
        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer('C'),
                                        4,
                                        standalone=False), "c'4")
        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer(['C', 'E']),
                                        standalone=False), "<c' e'>")
        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer(['C', 'E']),
                                        4,
                                        standalone=False), "<c' e'>4")

        # issue #37

        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer('C'),
                                        16,
                                        standalone=False), "c'16")
        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer('C'),
                                        16.0,
                                        standalone=False), "c'16")
        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer('C'),
                                        value.dots(16),
                                        standalone=False), "c'16.")
        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer('C'),
                                        0.25,
                                        standalone=False), "c'\\longa")
        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer('C'),
                                        0.5,
                                        standalone=False), "c'\\breve")

    def test_from_Bar(self):
        self.assertEqual(LilyPond.from_Bar(self.commonbar),
                         "{ \\time 4/4 \\key c \\major c'4 e'4 g'4 b'4 }")
        self.assertEqual(LilyPond.from_Bar(self.ebar),
                         "{ \\time 4/4 \\key e \\major c'4 e'4 g'4 b'4 }")
        self.assertEqual(LilyPond.from_Bar(self.fbar),
                         "{ \\time 6/8 \\key f \\major c'8 e'8 g'8 b'8 }")

    def test_from_Track(self):
        self.assertEqual(LilyPond.from_Track(self.track1),
                         "{ { c'4 e'4 g'4 b'4 } }")
        self.assertEqual(
            LilyPond.from_Track(self.track2),
            "{ { c'4 e'4 g'4 b'4 } { \\key e \\major c'4 e'4 g'4 b'4 } }")

    def test_from_Composition(self):
        self.assertEqual(
            LilyPond.from_Composition(self.composition1),
            '\\header { title = "Untitled" composer = "" opus = "" } { { c\'4 e\'4 g\'4 b\'4 } }'
        )
        self.assertEqual(
            LilyPond.from_Composition(self.composition2),
            '\\header { title = "Untitled" composer = "" opus = "" } { { c\'4 e\'4 g\'4 b\'4 } } { { c\'4 e\'4 g\'4 b\'4 } { \\key e \\major c\'4 e\'4 g\'4 b\'4 } }'
        )

    def test_from_Suite(self):
        LilyPond.from_Suite(None)

    def test_dotted_notes(self):
        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer('C'),
                                        value.dots(8),
                                        standalone=False), "c'8.")
        self.assertEqual(
            LilyPond.from_NoteContainer(NoteContainer('C'),
                                        value.dots(4, 2),
                                        standalone=False), "c'4..")

    def test_to_pdf(self):
        self.assert_(
            LilyPond.to_pdf(
                '{ %s }' %
                LilyPond.from_NoteContainer(NoteContainer('C'), value.dots(8)),
                'pdftest first test'))
        self.assert_(LilyPond.to_pdf(LilyPond.from_Bar(self.tbar), 'pdftest2'))
        self.assert_(LilyPond.to_pdf(LilyPond.from_Bar(self.mbar), 'pdftest3'))
Esempio n. 13
0
def from_Track(track):
    c = Composition()
    c.add_track(track)
    return _composition2musicxml(c).toprettyxml()
Esempio n. 14
0
def from_Bar(bar):
    c = Composition()
    t = Track()
    t.add_bar(bar)
    c.add_track(t)
    return _composition2musicxml(c).toprettyxml()
Esempio n. 15
0
def from_Note(note):
    c = Composition()
    c.add_note(note)
    return _composition2musicxml(c).toprettyxml()
Esempio n. 16
0
class test_LilyPond(unittest.TestCase):
	
	def setUp(self):
		self.commonbar = Bar()
		self.ebar = Bar('E', (4,4))
		self.fbar = Bar('F', (6,8))
		self.tbar = Bar('C', (4,4))
		self.mbar = Bar('C', (4,4))

		for y in [self.commonbar, self.ebar, self.fbar]:
			map(lambda x: y + x, ["C", "E", "G", "B"])
		map(lambda x: self.tbar.place_notes(NoteContainer(x), 6), ["C", "E", "G", "B", "C", "E"])
		map(lambda x: self.mbar.place_notes(NoteContainer(x), 4), ["C", "E"])
		map(lambda x: self.mbar.place_notes(NoteContainer(x), 6), ["G", "B", "C"])

		self.track1 = Track()
		self.track1 + self.commonbar
		self.track2 = Track()
		self.track2 + self.commonbar	
		self.track2 + self.ebar

		self.composition1 = Composition()
		self.composition1.add_track(self.track1)
		self.composition2 = Composition()
		self.composition2.add_track(self.track1)
		self.composition2.add_track(self.track2)

	def test_from_Note(self):
		self.assertEqual(LilyPond.from_Note(Note('C')), "c'")
		self.assertEqual(LilyPond.from_Note(Note('C#')),"cis'")
		self.assertEqual(LilyPond.from_Note(Note('C##')),"cisis'")
		self.assertEqual(LilyPond.from_Note(Note('Cb')),"ces'")
		self.assertEqual(LilyPond.from_Note(Note('Cbb')),"ceses'")
		self.assertEqual(LilyPond.from_Note(Note('C', 0)),"c,,,")
		self.assertEqual(LilyPond.from_Note(Note('C', 1)),"c,,")
		self.assertEqual(LilyPond.from_Note(Note('C', 2)),"c,")
		self.assertEqual(LilyPond.from_Note(Note('C', 3)),"c")
		self.assertEqual(LilyPond.from_Note(Note('C', 4)),"c'")
		self.assertEqual(LilyPond.from_Note(Note('C', 5)),"c''")
		self.assertEqual(LilyPond.from_Note(Note('C', 6)), "c'''")
		self.assertEqual(LilyPond.from_Note(Note('C', 7)), "c''''")


	def test_from_NoteContainer(self):
		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer("C")), "c'")
		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer("C"), 4), "c'4")
		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer(["C", "E"])), "<c' e'>")
		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer(["C", "E"]), 4), "<c' e'>4")

		# issue #37
		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer("C"), 16), "c'16")
		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer("C"), 16.0), "c'16")
		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer("C"), value.dots(16)), "c'16.")

		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer("C"), 0.25), "c'\\longa")
		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer("C"), 0.5), "c'\\breve")

	def test_from_Bar(self):
		self.assertEqual(LilyPond.from_Bar(self.commonbar),\
			"{ \\time 4/4 \\key c \\major c'4 e'4 g'4 b'4 }")
		self.assertEqual(LilyPond.from_Bar(self.ebar),\
			"{ \\time 4/4 \\key e \\major c'4 e'4 g'4 b'4 }")
		self.assertEqual(LilyPond.from_Bar(self.fbar),\
			"{ \\time 6/8 \\key f \\major c'8 e'8 g'8 b'8 }")

	def test_from_Track(self):
		self.assertEqual(LilyPond.from_Track(self.track1),\
			"{ { c'4 e'4 g'4 b'4 } }")
		self.assertEqual(LilyPond.from_Track(self.track2),\
			"{ { c'4 e'4 g'4 b'4 } { \\key e \\major c'4 e'4 g'4 b'4 } }")

	def test_from_Composition(self):
		self.assertEqual(LilyPond.from_Composition(self.composition1),\
			"\\header { title = \"Untitled\" composer = \"\" opus = \"\" } { { c'4 e'4 g'4 b'4 } }")
		self.assertEqual(LilyPond.from_Composition(self.composition2),\
			"\\header { title = \"Untitled\" composer = \"\" opus = \"\" } { { c'4 e'4 g'4 b'4 } } { { c'4 e'4 g'4 b'4 } { \\key e \\major c'4 e'4 g'4 b'4 } }")

	def test_from_Suite(self):
		LilyPond.from_Suite(None)

	def test_dotted_notes(self):
		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer("C"), value.dots(8)), "c'8.")
		self.assertEqual(LilyPond.from_NoteContainer(NoteContainer("C"), value.dots(4, 2)), "c'4..")

	def test_to_pdf(self):
		self.assert_(LilyPond.to_pdf("{ %s }" % LilyPond.from_NoteContainer(NoteContainer("C"), value.dots(8)), "pdftest first test"))
		self.assert_(LilyPond.to_pdf(LilyPond.from_Bar(self.tbar), "pdftest2"))
		self.assert_(LilyPond.to_pdf(LilyPond.from_Bar(self.mbar), "pdftest3"))