コード例 #1
0
 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 }")
コード例 #2
0
 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 } }'
                      )
コード例 #3
0
 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 } }'
                      )
コード例 #4
0
 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 }")
コード例 #5
0
ファイル: walkingbass.py プロジェクト: rickylqhan/walkingbass
 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)
コード例 #6
0
 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..")
コード例 #7
0
ファイル: __init__.py プロジェクト: beraldoleal/givemeasheet
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')
コード例 #8
0
ファイル: console.py プロジェクト: crickxson/sheetmusic
def sheetmusic(Gnumeric, range_ref, key = "C", upper = 4, lower = 4):
    '''
    Convert the cells to sheet music.
    '''
    left, top, right, bottom = u.parse_range_ref(Gnumeric, range_ref)
    values = u.range_rendered_text(Gnumeric, left, top, right, bottom,
        sheet = 1) #Gnumeric.functions['sheet'](range_ref))
    t = to_track(values, key, upper, lower)
    lp = LilyPond.from_Track(t)
    return LilyPond.to_png(lp, '/tmp/track')
コード例 #9
0
ファイル: test_LilyPond.py プロジェクト: anzev/mingus
	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")
コード例 #10
0
    def saveLily(self):
        docMingus = self._createMingus()
        filename = tkutil.ask_savefile(title='Save Lilypond',
                                       types=['.ly|LilyPond'])
        if not filename: return

        s = LilyPond.from_Composition(docMingus)
        f = open(filename, 'w')
        f.write(s)
        f.close()
コード例 #11
0
ファイル: song.py プロジェクト: spiderbit/canta-ng
 def generate_picture(self, k):
     ''' Generates picture of the lines k '''
     img_path = os.path.join(self.path, 'media', 'images')
     if not os.path.exists(img_path):
         os.makedirs(img_path)
     import tempfile
     tmp_dir = tempfile.mkdtemp()
     track = self.composition.tracks[k]
     ltrack = LilyPond.from_Track(track)
     tmp_file = os.path.join(tmp_dir, 'tmp_file')
     lily_str = li_header + ltrack
     LilyPond.save_string_and_execute_LilyPond(lily_str, tmp_file, '-fps')
     img_file = os.path.join(img_path, self.song_name + str(k) + '.png')
     gs_cmd = 'gs -dBATCH -dNOPAUSE -g2048x256 -q -r273.5 ' \
             +'-sDEVICE=pngalpha -sOutputFile="%s" "%s"' \
             % (img_file, tmp_file + '.ps')
     from subprocess import Popen
     p = Popen(gs_cmd, shell=True)
     sts = os.waitpid(p.pid, 0)
     os.unlink(tmp_file + '.ps')
     os.rmdir(tmp_dir)
コード例 #12
0
ファイル: song.py プロジェクト: tewe/canta
 def generate_picture(self, k):
     ''' Generates picture of the lines k '''
     img_path = os.path.join(self.path, 'media', 'images')
     if not os.path.exists(img_path):
         os.makedirs(img_path)
     import tempfile
     tmp_dir = tempfile.mkdtemp()
     track = self.composition.tracks[k]
     ltrack = LilyPond.from_Track(track)
     tmp_file = os.path.join(tmp_dir, 'tmp_file')
     lily_str = li_header + ltrack
     LilyPond.save_string_and_execute_LilyPond(lily_str, tmp_file, '-fps')
     img_file = os.path.join(img_path, self.song_name + str(k) + '.png')
     gs_cmd = 'gs -dBATCH -dNOPAUSE -g2048x256 -q -r273.5 ' \
             +'-sDEVICE=pngalpha -sOutputFile="%s" "%s"' \
             % (img_file, tmp_file + '.ps')
     from subprocess import Popen
     p = Popen(gs_cmd, shell=True)
     sts = os.waitpid(p.pid, 0)
     os.unlink(tmp_file + '.ps')
     os.rmdir(tmp_dir)
コード例 #13
0
 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'))
コード例 #14
0
    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")
コード例 #15
0
    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")
コード例 #16
0
ファイル: mgolfe.py プロジェクト: jamesturk/graveyard
 def on_key_press(self, symbol, modifiers):
     if symbol == pyglet.window.key.M:
         bar = self.grid.grid_to_bar()
         MidiFileOut.write_Bar('life.mid', bar)
         lps = LilyPond.from_Bar(bar)
         print lps
     elif symbol == pyglet.window.key.R:
         self.grid.randomize()
     elif symbol == pyglet.window.key.P:
         self.paused = not self.paused
         self.p_label.text = 'P - play' if self.paused else 'P - pause'
     elif symbol == pyglet.window.key.C:
         self.grid.clear()
     elif symbol == pyglet.window.key.E:
         self.evolution_style += 1
         if self.evolution_style >= 3:
             self.evolution_style = 0
         self.e_label.text = 'E - evolution | ' + ['off', 'on', 'fast'][self.evolution_style]
コード例 #17
0
ファイル: test_LilyPond.py プロジェクト: anzev/mingus
	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..")
コード例 #18
0
 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''''")
コード例 #19
0
 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'))
コード例 #20
0
 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..")
コード例 #21
0
 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 } }")
コード例 #22
0
ファイル: test_LilyPond.py プロジェクト: anzev/mingus
	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 } }")
コード例 #23
0
 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 } }"
                      )
コード例 #24
0
def testWriteToLilypond(docMingus):
    s = LilyPond.from_Composition(docMingus)
    f = open('out.ly', 'w')
    f.write(s)
    f.close()
コード例 #25
0
 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''''")
コード例 #26
0
ファイル: test_LilyPond.py プロジェクト: anzev/mingus
	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"))
コード例 #27
0
firstbar = Bar(meter=(3,4))
track.add_bar(firstbar)
print track.add_notes(['C-5'], 4.0)
print track.add_notes(['E-5'], 2.0)

print track.add_notes(['C-4','D-4'], 8.0)
print track.add_notes(['C-4','D-4','F-4'], 8.0)
print track.add_notes([], 8.0) #treated as rest?
print track.add_notes(['C-4','D-4'], 8.0)
print track.add_notes(['C-4','D-4'], 8.0)
print track.add_notes(['C-4','D-4'], 8.0)
print track.add_notes(['C-4','D-4'], 24.0)
print track.add_notes(['C-4','D-4'], 24.0)
print track.add_notes(['C-4','D-4'], 24.0)
print track.add_notes(['C-4','D-4'], 8.0)

s = MusicXML.from_Composition(comp)
f=open('out.xml','w')
f.write(s)
f.close()

s=LilyPond.from_Composition(comp)
f=open('out.ly','w')
f.write(s)
f.close()

#4.0 qtr
#2.0 half
#1.0 whole

コード例 #28
0
 def test_from_Suite(self):
     LilyPond.from_Suite(None)
コード例 #29
0
ファイル: test_LilyPond.py プロジェクト: anzev/mingus
	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''''")
コード例 #30
0
 def test_from_Suite(self):
     LilyPond.from_Suite(None)