]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/parser-clef.scm
Run `make grand-replace'.
[lilypond.git] / scm / parser-clef.scm
index 66e2c12d45b26788db60f005624143c8a9503c48..d733d7c1d2b52244c649efb398162b475ae448cf 100644 (file)
@@ -2,7 +2,7 @@
 ;;;;
 ;;;; source file of the GNU LilyPond music typesetter
 ;;;;
-;;;; (c) 2004--2006 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
 
 ;; (name . (glyph clef-position octavation))
@@ -33,6 +33,7 @@
     ("vaticana-do2" . ("clefs.vaticana.do" 1 0))
     ("vaticana-do3" . ("clefs.vaticana.do" 3 0))
     ("vaticana-fa1" . ("clefs.vaticana.fa" -1 0))
+
     ("vaticana-fa2" . ("clefs.vaticana.fa" 1 0))
     ("medicaea-do1" . ("clefs.medicaea.do" -1 0))
     ("medicaea-do2" . ("clefs.medicaea.do" 1 0))
@@ -60,6 +61,8 @@
     ("petrucci-c3" . ("clefs.petrucci.c3" 0 0))
     ("petrucci-c4" . ("clefs.petrucci.c4" 2 0))
     ("petrucci-c5" . ("clefs.petrucci.c5" 4 0))
+    ("petrucci-f3" . ("clefs.petrucci.f" 0 0))
+    ("petrucci-f4" . ("clefs.petrucci.f" 2 0))
     ("petrucci-f" . ("clefs.petrucci.f" 2 0))
     ("petrucci-g" . ("clefs.petrucci.g" -2 0))))
 
     (if (pair? e)
        (let* ((musics (map make-prop-set
                            `(((symbol . clefGlyph) (value . ,(cadr e)))
-                             ((symbol . middleCPosition)
+                             ((symbol . middleCClefPosition)
                               (value . ,(+ oct
                                            (caddr e)
                                            (cdr (assoc (cadr e) c0-pitch-alist)))))
                              ((symbol . clefPosition) (value . ,(caddr e)))
                              ((symbol . clefOctavation) (value . ,(- oct))))))
+              (recalc-mid-C (make-music 'ApplyContext))
               (seq (make-music 'SequentialMusic
-                               'elements musics))
+                               'elements (append musics (list recalc-mid-C))))
               (csp (make-music 'ContextSpeccedMusic)))
+         (set! (ly:music-property recalc-mid-C 'procedure) ly:set-middle-C!)
          (context-spec-music seq 'Staff))
        (begin
          (ly:warning (_ "unknown clef type `~a'") clef-name)
-         (ly:warning (_ "see scm/clef.scm for supported clefs"))
+         (ly:warning (_ "supported clefs: ~a")
+                     (string-join
+                      (sort (map car supported-clefs) string<?)))
          (make-music 'Music)))))