]> git.donarmstrong.com Git - lilypond.git/commitdiff
Add the Scheme flags to the NEWS
authorReinhold Kainhofer <reinhold@kainhofer.com>
Sat, 30 Aug 2008 11:10:02 +0000 (13:10 +0200)
committerReinhold Kainhofer <reinhold@kainhofer.com>
Sat, 30 Aug 2008 11:10:43 +0000 (13:10 +0200)
Documentation/topdocs/NEWS.tely

index c5a85132809770088efda03aa0905adb84fddd39..5c9629593c1a16f9ddd0fa404e8c283997e88d7e 100644 (file)
@@ -65,6 +65,40 @@ which scares away people.
 
 @end ignore
 
+@item Flags can now be generated with Scheme-code using the @code{'flag} Stem
+grob property. Existing scores will work without change.
+@lilypond
+testnotes = { \autoBeamOff c'8 d'16 c''8 d''16 }
+
+#(define (inverted-flag stem-grob)
+  (let* ((dir (if (eqv? (ly:grob-property stem-grob 'direction) UP) "d" "u"))
+         (flag (retrieve-glyph-flag "" dir "" stem-grob))
+         (stroke-style (ly:grob-property stem-grob 'stroke-style))
+         (stencil (if (null? stroke-style) flag
+                         (add-stroke-glyph flag stem-grob dir stroke-style ""))))
+    (ly:stencil-rotate stencil 180 -1 -1)))
+
+#(define-public (weight-flag stem-grob)
+  (let* ((log (- (ly:grob-property stem-grob 'duration-log) 2))
+         (is-up (eqv? (ly:grob-property stem-grob 'direction) UP))
+         (yext (if is-up (cons (* log -0.8) 0) (cons 0 (* log 0.8))))
+         (flag-stencil (make-filled-box-stencil '(-0.4 . 0.4) yext))
+         (stroke-style (ly:grob-property stem-grob 'stroke-style))
+         (stroke-stencil (if (equal? stroke-style "grace") (make-line-stencil 0.2 -0.9 -0.4 0.9 -0.4) empty-stencil)))
+    (ly:stencil-add flag-stencil stroke-stencil)))
+
+{
+  \time 3/8
+  \override Stem #'flag = #weight-flag
+  \testnotes
+
+  \override Stem #'flag = #inverted-flag
+  \testnotes
+
+}
+
+@end lilypond
+
 @item Harp pedalling diagrams were added:
 
 @lilypond