CVSROOT: /cvsroot/lilypond Module name: ikebana Branch: Changes by: Han-Wen Nienhuys <[EMAIL PROTECTED]> 05/07/30 17:24:09
Modified files: . : ChangeLog ikebana.py music.py notation.py notationcanvas.py Log message: (add_key_sig): add key sig if not at start. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/ikebana/ChangeLog.diff?tr1=1.6&tr2=1.7&r1=text&r2=text http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/ikebana/ikebana.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/ikebana/music.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/ikebana/notation.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/ikebana/notationcanvas.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text Patches: Index: ikebana/ChangeLog diff -u ikebana/ChangeLog:1.6 ikebana/ChangeLog:1.7 --- ikebana/ChangeLog:1.6 Fri Jul 29 11:58:47 2005 +++ ikebana/ChangeLog Sat Jul 30 17:24:09 2005 @@ -1,3 +1,7 @@ +2005-07-30 Han-Wen Nienhuys <[EMAIL PROTECTED]> + + * notation.py (add_key_sig): add key sig if not at start. + 2005-07-29 Han-Wen Nienhuys <[EMAIL PROTECTED]> * notation.py (Notation.change_duration_log): duration logs of all Index: ikebana/ikebana.py diff -u ikebana/ikebana.py:1.7 ikebana/ikebana.py:1.8 --- ikebana/ikebana.py:1.7 Fri Jul 29 11:35:52 2005 +++ ikebana/ikebana.py Sat Jul 30 17:24:09 2005 @@ -33,7 +33,7 @@ def create_tree_window (self): win = gtk.Window () - (w,h) = (500,300) + (w,h) = (500,200) win.set_size_request (w, h) win.connect ('destroy', mainquit) Index: ikebana/music.py diff -u ikebana/music.py:1.7 ikebana/music.py:1.8 --- ikebana/music.py:1.7 Fri Jul 29 11:58:48 2005 +++ ikebana/music.py Sat Jul 30 17:24:09 2005 @@ -62,11 +62,11 @@ return self.step + self.octave * 7 def ly_step_expression (self): - str = 'cdefgab'[self.step] + str = 'CDEFGAB'[self.step] if self.alteration > 0: - str += 'is'* (self.alteration/2) + str += '-Sharp'* (self.alteration/2) elif self.alteration < 0: - str += 'es'* (-self.alteration/2) + str += '-Flat'* (-self.alteration/2) return str def ly_expression (self): @@ -349,7 +349,7 @@ def test_expr (): m = SequentialMusic() - l =2 + l = 2 evc = EventChord() n = NoteEvent() n.duration.duration_log = l @@ -359,7 +359,7 @@ evc = EventChord() n = NoteEvent() - n.duration.duration_log = 0 + n.duration.duration_log = l n.pitch.step = 3 evc.insert_around (None, n, 0) m.insert_around (None, evc, 0) Index: ikebana/notation.py diff -u ikebana/notation.py:1.9 ikebana/notation.py:1.10 --- ikebana/notation.py:1.9 Fri Jul 29 11:58:48 2005 +++ ikebana/notation.py Sat Jul 30 17:24:09 2005 @@ -53,7 +53,8 @@ break cont = len (data) > 0 retval += data - + +# print retval return retval def set_measure_number (str, num): @@ -81,14 +82,27 @@ os.system ('(lilypond %s && gv %s)& ' % (filename, base)) def add_start_skip (str, start_skip): - return """(make-music 'SequentialMusic 'elements + str = """(make-music 'SequentialMusic 'elements (list (make-music 'SkipMusic 'duration (ly:make-duration 0 0 %d %d)) %s)) """ % (start_skip.num, start_skip.den, str) + + + return str + +def add_key_sig (str): + e_flat = music.Pitch() + e_flat.step = 2 + e_flat.alteration = -2 + ev = music.KeySignatureEvent (e_flat, scale_alterations) - + str = """(make-music 'SequentialMusic 'elements + (list (make-music 'EventChord 'elements (list + %s)) + %s))""" % (ev.lisp_expression (), str) + return str class Lilypond_socket_parser: """Maintain state of reading multi-line lilypond output for socket transport.""" @@ -165,9 +179,12 @@ str = expr.lisp_sub_expression (sub) str = add_start_skip (str, start_skip) - + bar_count = (self.start_moment / measure_length).floor() - str = set_measure_number (str, bar_count.num) + str = set_measure_number (str, 1 + bar_count.num) + if bar_count.num > 0: + str = add_key_sig (str) + str = talk_to_lilypond (str) self.parse_socket_file (str) @@ -425,8 +442,10 @@ def ensure_rest (self): if self.music_cursor.name() == 'NoteEvent': + dur = self.music_cursor.duration m = self.music_cursor rest = music.RestEvent() + rest.duration = dur.copy() m.parent.insert_around (None, rest, 1) m.parent.delete_element (m) self.music_cursor = rest Index: ikebana/notationcanvas.py diff -u ikebana/notationcanvas.py:1.7 ikebana/notationcanvas.py:1.8 --- ikebana/notationcanvas.py:1.7 Fri Jul 29 11:35:52 2005 +++ ikebana/notationcanvas.py Sat Jul 30 17:24:09 2005 @@ -150,7 +150,7 @@ self.set_scroll_region (0, 0, w, h) root = self.root () root.affine_relative ((1,0,0,-1,0, 5)) - self.pixel_scale = 10 + self.pixel_scale = 11 self.set_pixels_per_unit (self.pixel_scale) i = root.add (gnomecanvas.CanvasRect, y1 = 5, @@ -267,9 +267,7 @@ (index, font_name, magnification, name) = tuple (item.args) (family, style) = string.split (font_name, '-') - sz = canvas.pixel_scale * 0.75 * magnification - sz *= 1.2 - + sz = canvas.pixel_scale * 15.5/16 * magnification w = canvas.root().add (type, fill_color = 'black', family = family, _______________________________________________ Lilypond-cvs mailing list Lilypond-cvs@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-cvs