]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 4680: Improve flute-slap-notation snippet
authorDavid Kastrup <dak@gnu.org>
Tue, 1 Dec 2015 19:21:33 +0000 (20:21 +0100)
committerDavid Kastrup <dak@gnu.org>
Thu, 10 Dec 2015 12:06:28 +0000 (13:06 +0100)
It needed proper pairing of \temporary \override with \revert

Documentation/snippets/new/flute-slap-notation.ly [new file with mode: 0644]

diff --git a/Documentation/snippets/new/flute-slap-notation.ly b/Documentation/snippets/new/flute-slap-notation.ly
new file mode 100644 (file)
index 0000000..b18de49
--- /dev/null
@@ -0,0 +1,38 @@
+\version "2.19.22"
+
+\header {
+  lsrtags = "contemporary-notation, winds"
+
+  texidoc = "
+It is possible to indicate special articulation techniques such as a
+flute @qq{tongue slap} by replacing the note head with the appropriate
+glyph.
+
+"
+  doctitle = "Flute slap notation"
+}
+slap =
+#(define-music-function (music) (ly:music?)
+#{
+  \temporary \override NoteHead.stencil =
+  #(lambda (grob)
+     (grob-interpret-markup grob
+      (markup #:musicglyph "scripts.sforzato")))
+  \temporary \override NoteHead.stem-attachment =
+  #(lambda (grob)
+     (let* ((thickness (ly:staff-symbol-line-thickness grob))
+            (stem (ly:grob-object grob 'stem))
+            (dir (ly:grob-property stem 'direction UP)))
+       (cons 1 (+ (if (= dir DOWN)
+                      0.5
+                      0)
+                  (/ thickness 2)))))
+  #music
+  \revert NoteHead.stencil
+  \revert NoteHead.stem-attachment
+#})
+
+\relative c' {
+  c4 \slap c d r
+  \slap { g4 a } b r
+}