]> git.donarmstrong.com Git - lilypond.git/commitdiff
LSR: Update.
authorNeil Puttock <n.puttock@gmail.com>
Thu, 4 Dec 2008 01:43:13 +0000 (01:43 +0000)
committerNeil Puttock <n.puttock@gmail.com>
Thu, 4 Dec 2008 01:43:13 +0000 (01:43 +0000)
15 files changed:
input/lsr/avoiding-collisions-of-chord-fingering-with-beams.ly
input/lsr/center-text-below-hairpin-dynamics.ly
input/lsr/changing-properties-for-individual-grobs.ly
input/lsr/compound-time-signatures.ly
input/lsr/flute-slap-notation.ly
input/lsr/heavily-customized-polymetric-time-signatures.ly
input/lsr/non-traditional-key-signatures.ly
input/lsr/rest-styles.ly
input/lsr/stand-alone-two-column-markup.ly [new file with mode: 0644]
input/lsr/text.snippet-list
input/new/center-text-below-hairpin-dynamics.ly [new file with mode: 0644]
input/new/changing-properties-for-individual-grobs.ly [new file with mode: 0644]
input/new/compound-time-signatures.ly [new file with mode: 0644]
input/new/flute-slap-notation.ly [new file with mode: 0644]
input/new/heavily-customized-polymetric-time-signatures.ly [new file with mode: 0644]

index 3431ef50c565e2a5928139a95858d2c826468bdb..1afbc794f7ebb73466348e20f70fa008c6d2c160 100644 (file)
@@ -5,6 +5,17 @@
 \header {
   lsrtags = "rhythms, editorial-annotations, chords, tweaks-and-overrides"
 
+  texidoces = "
+Las digitaciones y los números de cuerda aplicados a notas
+individuales evitan a las barras automáticamente, pero de forma
+predeterminada esto no es cierto para las digitaciones y números
+de cuerda que se aplican a notas concretas de acordes.  El ejemplo
+siguiente muestra cómo se puede sobreescribir este comportamiento
+predeterminado:
+
+"
+  doctitlees = "Evitar colisiones entre digitaciones de acordes y barras de corchea"
+
   texidoc = "
 Fingerings and string numbers applied to individual notes will
 automatically avoid beams, but this is not true by default for
index 03ec213e2b66d788b48025e78a5f3eb41d7771c2..682304df15c88852c01c648374c7b56517f73cc8 100644 (file)
@@ -1,10 +1,8 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
 \version "2.11.64"
 
 \header {
-  lsrtags = "expressive-marks, text"
-
   texidoces = "
 Este ejemplo proporciona una función para tipografiar un regulador
 con texto por debajo, como \"molto\" o \"poco\". El ejemplo
@@ -14,26 +12,28 @@ normalmente un objeto, utilizando código de Scheme.
 "
   doctitlees = "Centrar texto debajo de un regulador"
 
+  lsrtags = "expressive-marks, text"
+
   texidoc = "
 This example provides a function to typeset a hairpin (de)crescendo
 with some additional text below it, such as \"molto\" or \"poco\". The
 example also illustrates how to modify the way an object is normally
-printed, using some Scheme code.  
-
+printed, using some Scheme code.
 "
   doctitle = "Center text below hairpin dynamics"
 } % begin verbatim
 
-hairpinWithCenteredText = #(define-music-function (parser location text) (markup?)
+
+hairpinWithCenteredText =
+#(define-music-function (parser location text) (markup?)
 #{
   \override Voice.Hairpin #'stencil = #(lambda (grob)
-  (ly:stencil-aligned-to
-   (ly:stencil-combine-at-edge
-    (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
-    Y DOWN
-    (ly:stencil-aligned-to (ly:text-interface::print grob) X CENTER))
-   X LEFT))
-  \override Voice.Hairpin #'text = $text
+    (ly:stencil-aligned-to
+     (ly:stencil-combine-at-edge
+      (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
+      Y DOWN
+      (ly:stencil-aligned-to (grob-interpret-markup grob $text) X CENTER))
+     X LEFT))
 #})
 
 hairpinMolto = \hairpinWithCenteredText \markup { \italic molto }
index f1d52a3bfcedbaaccb212858f58385b68b8110c2..202c906c931bc141c67bf26a5f2174221772efd8 100644 (file)
@@ -1,4 +1,4 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
 \version "2.11.64"
 
@@ -7,36 +7,31 @@
 
   texidoc = "
 The @code{\\applyOutput} command allows the tuning of any layout
-object, in any context. It requires a Scheme function with three
-arguments.
+object, in any context.  It requires a Scheme function with three
+arguments."
 
-"
   doctitle = "Changing properties for individual grobs"
 } % begin verbatim
 
-\layout {
-  ragged-right = ##t
-}
 
 #(define (mc-squared grob grob-origin context)
   (let*
-   (
-     (ifs (ly:grob-interfaces grob))
-     (sp (ly:grob-property grob 'staff-position))
-   )
-   (if (memq 'note-head-interface ifs)
-    (begin
-     (ly:grob-set-property! grob 'stencil ly:text-interface::print)
-     (ly:grob-set-property! grob 'font-family 'roman)
-     (ly:grob-set-property! grob 'text
-      (make-raise-markup -0.5
-       (case sp
-       ((-5) (make-simple-markup "m"))
-       ((-3) (make-simple-markup "c "))
-       ((-2) (make-smaller-markup (make-bold-markup "2")))
-       (else (make-simple-markup "bla"))
-      ))))
-  )))
+    (
+      (ifs (ly:grob-interfaces grob))
+      (sp (ly:grob-property grob 'staff-position))
+    )
+    (if (memq 'note-head-interface ifs)
+      (begin
+        (ly:grob-set-property! grob 'stencil
+          (grob-interpret-markup grob
+            (make-lower-markup 0.5
+              (case sp
+                ((-5) "m")
+                ((-3) "c ")
+                ((-2) (make-smaller-markup (make-bold-markup "2")))
+                (else "bla")
+                ))))
+        ))))
 
 \relative c' {
   <d f g b>2
index 81247d32db0a0812c4af34b3d03e524a120a8e22..4adb6c9dab5f0bfce5ac8ba602f1cdb3004350fc 100644 (file)
@@ -1,10 +1,8 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
 \version "2.11.64"
 
 \header {
-  lsrtags = "rhythms"
-
  doctitlees = "Indicaciones de compases compuestos"
  texidoces = "
 Las indicaciones de compás poco frecuentes como \"5/8\" se pueden
@@ -29,6 +27,7 @@ Bebalkung angepasst wird.
 "
   doctitlede = "Zusammengesetzte Taktarten"
 
+  lsrtags = "rhythms"
   texidoc = "
 Odd 20th century time signatures (such as \"5/8\") can often be played
 as compound time signatures (e.g. \"3/8 + 2/8\"), which combine two or
@@ -42,14 +41,18 @@ database.)
   doctitle = "Compound time signatures"
 } % begin verbatim
 
-#(define (compound-time one two num)
-  (markup #:override '(baseline-skip . 0) #:number
-   (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))
-  ))
 
-\relative {  
-  \override Staff.TimeSignature #'stencil = #ly:text-interface::print
-  \override Staff.TimeSignature #'text = #(compound-time "2" "3" "8")
+#(define ((compound-time one two num) grob)
+  (grob-interpret-markup grob
+    (markup #:override '(baseline-skip . 0) #:number
+      (#:line (
+          (#:column (one num))
+          #:vcenter "+"
+          (#:column (two num))))
+      )))
+
+\relative c' {
+  \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8")
   \time 5/8
   #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
   c8 d e fis gis
index 55372b31d70790f45ae4814bca980e70848c080c..c3d9f7cb39ef7a1087c1738916260afc5ddbe4ad 100644 (file)
@@ -1,4 +1,4 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
 \version "2.11.64"
 
@@ -14,16 +14,19 @@ appropriate glyph.
   doctitle = "Flute slap notation"
 } % begin verbatim
 
+
 slap =
 #(define-music-function (parser location music) (ly:music?)
-#{\override NoteHead #'stencil = #ly:text-interface::print
-  \override NoteHead #'text = \markup \musicglyph #"scripts.sforzato"
-  \override NoteHead #'extra-offset = #'(0.1 . 0.0 )
+#{
+  \override NoteHead #'stencil = #(lambda (grob)
+    (grob-interpret-markup grob
+      (markup #:musicglyph "scripts.sforzato")))
+  \override NoteHead #'extra-offset = #'(0.1 . 0.0)
   $music
   \revert NoteHead #'stencil
-  \revert NoteHead #'text
-  \revert NoteHead #'extra-offset #})
+  \revert NoteHead #'extra-offset
+#})
 
 \relative c' {
-  c \slap c d r \slap { g a } b r
+  c4 \slap c d r \slap { g a } b r
 }
index 177fcc01c8c9ee8c2d66bcb5e6c271c4714b6009..172e71a07b4f45c7ea6aafc2048b016fa0847fdf 100644 (file)
@@ -1,4 +1,4 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
 \version "2.11.64"
 
@@ -14,37 +14,33 @@ is the template of a real Balkan song!).
   doctitle = "Heavily customized polymetric time signatures"
 } % begin verbatim
 
-#(define (set-time-signature one two three four five six seven eight nine ten
-          eleven num)
-          (markup #:override '(baseline-skip . 0) #:number
-          (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))
-          #:vcenter "+" (#:column (three num)) #:vcenter "+" (#:column (four num))
-          #:vcenter "+" (#:column (five num)) #:vcenter "+" (#:column (six num))
-          #:vcenter "+" (#:column (seven num)) #:vcenter "+" (#:column (eight num))
-          #:vcenter "+" (#:column (nine num)) #:vcenter "+" (#:column (ten num))
-          #:vcenter "+" (#:column (eleven num))))
-          ))
 
+#(define plus (markup #:vcenter "+"))
+#(define ((custom-time-signature one two three four five six
+           seven eight nine ten eleven num) grob)
+            (grob-interpret-markup grob
+              (markup #:override '(baseline-skip . 0) #:number
+                (#:line (
+                    (#:column (one num)) plus
+                    (#:column (two num)) plus
+                    (#:column (three num)) plus
+                    (#:column (four num)) plus
+                    (#:column (five num)) plus
+                    (#:column (six num)) plus
+                    (#:column (seven num)) plus
+                    (#:column (eight num)) plus
+                    (#:column (nine num)) plus
+                    (#:column (ten num)) plus
+                    (#:column (eleven num))))
+                )))
 
 melody = \relative c'' {
   \set Staff.instrumentName = #"Bb Sop."
   \key g \major
-  \time 25/8
-  \override Staff.TimeSignature #'stencil = #ly:text-interface::print
-  \override Staff.TimeSignature #'text = #(set-time-signature "3" "2" "2" "3"
-    "2" "2" "2" "2" "3" "2" "2" "8" )
-  \set Staff.beatGrouping = #'(3 2 2 3 2 2 2 2 3 2 2)
-  #(override-auto-beam-setting '(end * * 25 8) 3 8)
-  #(override-auto-beam-setting '(end * * 25 8) 5 8)
-  #(override-auto-beam-setting '(end * * 25 8) 7 8)
-  #(override-auto-beam-setting '(end * * 25 8) 10 8)
-  #(override-auto-beam-setting '(end * * 25 8) 12 8)
-  #(override-auto-beam-setting '(end * * 25 8) 14 8)
-  #(override-auto-beam-setting '(end * * 25 8) 16 8)
-  #(override-auto-beam-setting '(end * * 25 8) 18 8)
-  #(override-auto-beam-setting '(end * * 25 8) 21 8)
-  #(override-auto-beam-setting '(end * * 25 8) 23 8)
-
+  #(set-time-signature 25 8 '(3 2 2 3 2 2 2 2 3 2 2))
+  \override Staff.TimeSignature #'stencil =
+    #(custom-time-signature "3" "2" "2" "3" "2" "2"
+      "2" "2" "3" "2" "2" "8")
   c8 c c d4 c8 c b c b a4 g fis8 e d c b' c d e4-^ fis8 g \break
   c,4. d4 c4 d4. c4 d c2 d4. e4-^ d4
   c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 \break
index d47dc63f570c3567f8ad1bea4329e0966062b443..2a5f9792f69b99439409458f04a769d667d25632 100644 (file)
@@ -63,7 +63,8 @@ format of this command is a list:
 @code{octave} specifies the octave (0 being the octave from middle C to
 the B above), @code{step} specifies the note within the octave (0 means
 C and 6 means B), and @code{alter} is @code{,SHARP ,FLAT ,DOUBLE-SHARP}
-etc. (Note the leading comma.)
+etc. (Note the leading comma.) The accidentals in the key signature
+will appear in the reverse order to that in which they are specified.
 
 
 Alternatively, for each item in the list, using the more concise format
index 0164ffbcc9b89d00b437f0b19745f319ca776f8c..5d37957d7cd2db79c297e887ddacb74b97bf836c 100644 (file)
@@ -33,16 +33,16 @@ Rests may be used in various styles.
   }
 }
 
-\relative c {
-  \set Score.timing = ##f
+\new Staff \relative c {
+  \cadenzaOn
   \override Staff.Rest #'style = #'mensural
   r\maxima^\markup \typewriter { mensural }
-  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 s128 s128
+  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
   \bar ""
   
   \override Staff.Rest #'style = #'neomensural
   r\maxima^\markup \typewriter { neomensural }
-  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 s128 s128
+  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
   \bar ""
   
   \override Staff.Rest #'style = #'classical
diff --git a/input/lsr/stand-alone-two-column-markup.ly b/input/lsr/stand-alone-two-column-markup.ly
new file mode 100644 (file)
index 0000000..c53c28a
--- /dev/null
@@ -0,0 +1,39 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.64"
+
+\header {
+  lsrtags = "text"
+
+  texidoc = "
+Stand-alone text may be arranged in several columns using
+@code{\\markup} commands:
+
+"
+  doctitle = "Stand-alone two-column markup"
+} % begin verbatim
+
+\markup {
+ \fill-line {
+  \hspace #1.0
+  \column {
+   \line {"O sacrum convivium" }
+   \line {"in quo Christus sumitur," }
+   \line {"recolitur memoria passionis ejus," }
+   \line {"mens impletur gratia," }
+   \line {"futurae gloriae nobis pignus datur." }
+   \line {"Amen."}
+  }
+  \hspace #2
+  \column {
+   \line { \italic {"O sacred feast"} }
+   \line { \italic {"in which Christ is received,"} }
+   \line { \italic {"the memory of His Passion is renewed,"} }
+   \line { \italic {"the mind is filled with grace," } }
+   \line { \italic {"and a pledge of future glory is given to us." }}
+   \line { \italic {"Amen."}}
+  }
+  \hspace #1.0
+ }
+}
+
index 274bdb9e89d991ce07ab5295569192f1a531f324..748af521de6401ec7161a61663f7adc03d50b451 100644 (file)
@@ -21,6 +21,7 @@ outputting-the-version-number.ly
 piano-template-with-centered-lyrics.ly
 printing-marks-at-the-end-of-a-line-or-a-score.ly
 printing-marks-on-every-staff.ly
+stand-alone-two-column-markup.ly
 three-sided-box.ly
 utf-8.ly
 vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
diff --git a/input/new/center-text-below-hairpin-dynamics.ly b/input/new/center-text-below-hairpin-dynamics.ly
new file mode 100644 (file)
index 0000000..eae6943
--- /dev/null
@@ -0,0 +1,35 @@
+\version "2.11.64"
+
+\header {
+  lsrtags = "expressive-marks, text"
+
+  texidoc = "
+This example provides a function to typeset a hairpin (de)crescendo
+with some additional text below it, such as \"molto\" or \"poco\". The
+example also illustrates how to modify the way an object is normally
+printed, using some Scheme code.
+"
+  doctitle = "Center text below hairpin dynamics"
+}
+
+hairpinWithCenteredText =
+#(define-music-function (parser location text) (markup?)
+#{
+  \override Voice.Hairpin #'stencil = #(lambda (grob)
+    (ly:stencil-aligned-to
+     (ly:stencil-combine-at-edge
+      (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
+      Y DOWN
+      (ly:stencil-aligned-to (grob-interpret-markup grob $text) X CENTER))
+     X LEFT))
+#})
+
+hairpinMolto = \hairpinWithCenteredText \markup { \italic molto }
+hairpinMore = \hairpinWithCenteredText \markup { \larger moltissimo }
+
+\layout { ragged-right = ##f }
+
+{
+  \hairpinMolto c'2\< c'\f
+  \hairpinMore  c'2\< c'\f
+}
diff --git a/input/new/changing-properties-for-individual-grobs.ly b/input/new/changing-properties-for-individual-grobs.ly
new file mode 100644 (file)
index 0000000..416e552
--- /dev/null
@@ -0,0 +1,37 @@
+\version "2.11.64"
+
+\header {
+  lsrtags = "tweaks-and-overrides"
+
+  texidoc = "
+The @code{\\applyOutput} command allows the tuning of any layout
+object, in any context.  It requires a Scheme function with three
+arguments."
+
+  doctitle = "Changing properties for individual grobs"
+}
+
+#(define (mc-squared grob grob-origin context)
+  (let*
+    (
+      (ifs (ly:grob-interfaces grob))
+      (sp (ly:grob-property grob 'staff-position))
+    )
+    (if (memq 'note-head-interface ifs)
+      (begin
+        (ly:grob-set-property! grob 'stencil
+          (grob-interpret-markup grob
+            (make-lower-markup 0.5
+              (case sp
+                ((-5) "m")
+                ((-3) "c ")
+                ((-2) (make-smaller-markup (make-bold-markup "2")))
+                (else "bla")
+                ))))
+        ))))
+
+\relative c' {
+  <d f g b>2
+  \applyOutput #'Voice #mc-squared
+  <d f g b>2
+}
diff --git a/input/new/compound-time-signatures.ly b/input/new/compound-time-signatures.ly
new file mode 100644 (file)
index 0000000..1e5442d
--- /dev/null
@@ -0,0 +1,34 @@
+\version "2.11.64"
+
+\header {
+  lsrtags = "rhythms"
+  texidoc = "
+Odd 20th century time signatures (such as \"5/8\") can often be played
+as compound time signatures (e.g. \"3/8 + 2/8\"), which combine two or
+more inequal metrics. LilyPond can make such music quite easy to read
+and play, by explicitly printing the compound time signatures and
+adapting the automatic beaming behavior. (Graphic measure grouping
+indications can also be added; see the appropriate snippet in this
+database.) 
+
+"
+  doctitle = "Compound time signatures"
+}
+
+#(define ((compound-time one two num) grob)
+  (grob-interpret-markup grob
+    (markup #:override '(baseline-skip . 0) #:number
+      (#:line (
+          (#:column (one num))
+          #:vcenter "+"
+          (#:column (two num))))
+      )))
+
+\relative c' {
+  \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8")
+  \time 5/8
+  #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
+  c8 d e fis gis
+  c8 fis, gis e d
+  c8 d e4 gis8
+}
diff --git a/input/new/flute-slap-notation.ly b/input/new/flute-slap-notation.ly
new file mode 100644 (file)
index 0000000..c006238
--- /dev/null
@@ -0,0 +1,29 @@
+\version "2.11.64"
+
+\header {
+  lsrtags = "winds"
+
+  texidoc = "
+It is possible to indicate special articulation techniques such as
+flute's \"tongue slap\", by replacing the note head with the
+appropriate glyph.
+
+"
+  doctitle = "Flute slap notation"
+}
+
+slap =
+#(define-music-function (parser location music) (ly:music?)
+#{
+  \override NoteHead #'stencil = #(lambda (grob)
+    (grob-interpret-markup grob
+      (markup #:musicglyph "scripts.sforzato")))
+  \override NoteHead #'extra-offset = #'(0.1 . 0.0)
+  $music
+  \revert NoteHead #'stencil
+  \revert NoteHead #'extra-offset
+#})
+
+\relative c' {
+  c4 \slap c d r \slap { g a } b r
+}
diff --git a/input/new/heavily-customized-polymetric-time-signatures.ly b/input/new/heavily-customized-polymetric-time-signatures.ly
new file mode 100644 (file)
index 0000000..acca7f2
--- /dev/null
@@ -0,0 +1,56 @@
+\version "2.11.64"
+
+\header {
+  lsrtags = "rhythms, percussion"
+
+  texidoc = "
+Though the polymetric time signature shown was not the most essential
+item here, it has been included to show the beat of this piece (which
+is the template of a real Balkan song!).
+
+"
+  doctitle = "Heavily customized polymetric time signatures"
+}
+
+#(define plus (markup #:vcenter "+"))
+#(define ((custom-time-signature one two three four five six
+           seven eight nine ten eleven num) grob)
+            (grob-interpret-markup grob
+              (markup #:override '(baseline-skip . 0) #:number
+                (#:line (
+                    (#:column (one num)) plus
+                    (#:column (two num)) plus
+                    (#:column (three num)) plus
+                    (#:column (four num)) plus
+                    (#:column (five num)) plus
+                    (#:column (six num)) plus
+                    (#:column (seven num)) plus
+                    (#:column (eight num)) plus
+                    (#:column (nine num)) plus
+                    (#:column (ten num)) plus
+                    (#:column (eleven num))))
+                )))
+
+melody = \relative c'' {
+  \set Staff.instrumentName = #"Bb Sop."
+  \key g \major
+  #(set-time-signature 25 8 '(3 2 2 3 2 2 2 2 3 2 2))
+  \override Staff.TimeSignature #'stencil =
+    #(custom-time-signature "3" "2" "2" "3" "2" "2"
+      "2" "2" "3" "2" "2" "8")
+  c8 c c d4 c8 c b c b a4 g fis8 e d c b' c d e4-^ fis8 g \break
+  c,4. d4 c4 d4. c4 d c2 d4. e4-^ d4
+  c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 \break
+  c4. d4 c4 d4. c4 d c2 d4. e4-^ d4
+  c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 \break
+}
+
+drum = \new DrumStaff \drummode {
+  \bar "|:" bd4.^\markup { "Drums" } sn4 bd \bar ":" sn4.
+  bd4 sn \bar ":" bd sn bd4. sn4 bd \bar ":|"
+}
+
+{
+  \melody
+  \drum
+}