]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly
resolve merge
[lilypond.git] / Documentation / snippets / marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly
diff --git a/Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly b/Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly
new file mode 100644 (file)
index 0000000..18b52b3
--- /dev/null
@@ -0,0 +1,54 @@
+%% DO NOT EDIT this file manually; it is automatically
+%% generated from LSR http://lsr.dsi.unimi.it
+%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
+%% and then run scripts/auxiliar/makelsr.py
+%%
+%% This file is in the public domain.
+\version "2.14.0"
+
+\header {
+  lsrtags = "editorial-annotations, vocal-music"
+
+  texidoc = "
+This example shows how to put crosses on stems.  Mark the beginning of
+a spoken section with the @code{\\speakOn} keyword, and end it with the
+@code{\\speakOff} keyword.
+
+"
+  doctitle = "Marking notes of spoken parts with a cross on the stem"
+} % begin verbatim
+
+speakOn = {
+  \override Stem #'stencil =
+    #(lambda (grob)
+       (let* ((x-parent (ly:grob-parent grob X))
+              (is-rest? (ly:grob? (ly:grob-object x-parent 'rest))))
+         (if is-rest?
+             empty-stencil
+             (ly:stencil-combine-at-edge
+              (ly:stem::print grob)
+              Y
+              (- (ly:grob-property grob 'direction))
+              (grob-interpret-markup grob
+                                    (markup #:center-align #:fontsize -4
+                                            #:musicglyph "noteheads.s2cross"))
+              -2.3 0))))
+}
+
+speakOff = {
+  \revert Stem #'stencil
+}
+
+\score {
+  \new Staff {
+    \relative c'' {
+      a4 b a c
+      \speakOn
+      g4 f r g
+      b4 r d e
+      \speakOff
+      c4 a g f
+    }
+  }
+}
+