]> git.donarmstrong.com Git - lilypond.git/commitdiff
LSR updates
authorPhil Holmes <mail@philholmes.net>
Sat, 17 Nov 2012 12:27:55 +0000 (12:27 +0000)
committerPhil Holmes <mail@philholmes.net>
Sat, 17 Nov 2012 12:29:28 +0000 (12:29 +0000)
Documentation/snippets/center-text-below-hairpin-dynamics.ly
Documentation/snippets/displaying-a-whole-grandstaff-system-if-only-one-of-its-staves-is-alive.ly

index b69e4e0dffe29700ddb6bcaa31bda3d7ae2dcb7c..67e197227006f1dd368930a9ea1b8545ab881f3c 100644 (file)
 This example provides a function to typeset a hairpin (de)crescendo
 with some additional text below it, such as @qq{molto} or @qq{poco}.
 The added text will change the direction according to the direction of
-the hairpin. The Hairpin is aligned to DynamicText.  The example also
-illustrates how to modify the way an object is normally printed, using
-some Scheme code.
+the hairpin. The Hairpin is aligned to DynamicText.
+
+The example also illustrates how to modify the way an object is
+normally printed, using some Scheme code.
 
 "
   doctitle = "Center text below hairpin dynamics"
@@ -30,20 +31,27 @@ hairpinWithCenteredText =
              (par-y (ly:grob-parent grob Y))
              (dir (ly:grob-property par-y 'direction))
              (new-stencil (ly:stencil-aligned-to
-                          (ly:stencil-combine-at-edge
-                            (ly:stencil-aligned-to stencil X CENTER)
-                            Y dir
-                            (ly:stencil-aligned-to (grob-interpret-markup grob text) X CENTER))
-                            X LEFT))
+               (ly:stencil-combine-at-edge
+                 (ly:stencil-aligned-to stencil X CENTER)
+                 Y dir
+                 (ly:stencil-aligned-to (grob-interpret-markup grob text) X CENTER))
+               X LEFT))
              (staff-space (ly:output-def-lookup (ly:grob-layout grob) 'staff-space))
-             (staff-line-thickness (ly:output-def-lookup (ly:grob-layout grob) 'line-thickness))
+             (staff-line-thickness
+               (ly:output-def-lookup (ly:grob-layout grob) 'line-thickness))
              (grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta) 'name)))
              (par-x (ly:grob-parent grob X))
              (dyn-text (eq? (grob-name par-x) 'DynamicText ))
-             (dyn-text-stencil-x-length (if dyn-text
-                                           (interval-length (ly:stencil-extent (ly:grob-property par-x 'stencil) X))
-                                           0))
-             (x-shift (if dyn-text (- (+ staff-space dyn-text-stencil-x-length) (* 0.5 staff-line-thickness)) 0)))
+             (dyn-text-stencil-x-length
+               (if dyn-text
+                 (interval-length
+                   (ly:stencil-extent (ly:grob-property par-x 'stencil) X))
+                 0))
+             (x-shift
+               (if dyn-text
+                 (-
+                   (+ staff-space dyn-text-stencil-x-length)
+                   (* 0.5 staff-line-thickness)) 0)))
 
       (ly:grob-set-property! grob 'Y-offset 0)
       (ly:grob-set-property! grob 'stencil
index 7a1ff98776fde01af1cd3c5f3169ef887d22e29d..d3de13e21d24cfc7f2fbed28454949c485511f5a 100644 (file)
@@ -12,7 +12,7 @@
   texidoc = "
 In orchestral scores sometimes single or groups of instruments are
 silent for a while and their staves can be removed for that time (with
-@code{\\removeEmptStaves}).
+@code{\\removeEmptyStaves}).
 
 
 When they play again it is often preferred to show the staves of all
@@ -31,27 +31,36 @@ the second violin is also displayed.
 
 \score {
   <<
-    \new StaffGroup = "StaffGroup_woodwinds" <<
+    \new StaffGroup = "StaffGroup_woodwinds"
+    <<
       \new Staff = "Staff_flute" \with {
         instrumentName = "Flute"
         shortInstrumentName = "Fl"}
-        \relative { \repeat unfold 3 { c'4 c c c | c c c c | c c c c | \break } }
+        \relative { \repeat unfold 3 { c'4 c c c | c c c c | c c c c | \break }
+      }
     >>
-    \new StaffGroup = "StaffGroup_Strings" <<
-      \new GrandStaff = "GrandStaff_violins" <<
+    \new StaffGroup = "StaffGroup_Strings"
+    <<
+      \new GrandStaff = "GrandStaff_violins"
+      <<
         \new Staff = "StaffViolinI" \with {
           instrumentName = "Violin I"
-          shortInstrumentName = "Vi I"}
-          \relative c'' { a1 \repeat unfold 7 { s1 } \repeat unfold 12 a16  a4}
+          shortInstrumentName = "Vi I"
+        }
+        \relative c'' {
+          a1 \repeat unfold 7 { s1 } \repeat unfold 12 a16  a4
+        }
         \new Staff = "StaffViolinII" \with {
           instrumentName = "Violin II"
-          shortInstrumentName = "Vi II"}
-          \relative { e1 \repeat unfold 8 { s1 } }
+          shortInstrumentName = "Vi II"
+        }
+        \relative { e1 \repeat unfold 8 { s1 } }
       >>
       \new Staff = "Staff_cello" \with {
         instrumentName = "Cello"
-        shortInstrumentName = "Ce"}
-        \relative c { \clef bass \repeat unfold 9 { c1 }}
+        shortInstrumentName = "Ce"
+      }
+      \relative c { \clef bass \repeat unfold 9 { c1 }}
     >>
   >>
 }