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
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs