]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/snippets/incipit.ly
Rerun scripts/auxiliar/update-with-convert-ly.sh
[lilypond.git] / Documentation / snippets / incipit.ly
index 992a03ae798c8c0ddde2f24dfe220c3ec1019a53..9490f08ed0d2ed0dab39ad1c322124068e0da215 100644 (file)
@@ -1,19 +1,14 @@
-% Do not edit this file; it is automatically
+% DO NOT EDIT this file manually; it is automatically
 % generated from Documentation/snippets/new
+% Make any changes in Documentation/snippets/new/
+% and then run scripts/auxiliar/makelsr.py
+%
 % This file is in the public domain.
-%% Note: this file works from version 2.13.4
-\version "2.13.10"
+%% Note: this file works from version 2.16.0
+\version "2.17.6"
 
 \header {
-%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
-  texidoces = "
-Los «incipit» se pueden escribir utilizando el grob del nombre del
-instruemento, pero manteniendo independientes las definiciones del
-nombre del instrumento y del incipit."
-
- doctitlees = "Incipit"
-
-  lsrtags = "staff-notation, ancient-notation"
+  lsrtags = "staff-notation, ancient-notation, really-cool"
   texidoc = "
 Incipits can be added using the instrument name grob, but keeping
 separate the instrument name definition and the incipit definition.
@@ -25,43 +20,38 @@ separate the instrument name definition and the incipit definition.
 incipit =
 #(define-music-function (parser location incipit-music) (ly:music?)
   #{
-    \once \override Staff.InstrumentName #'self-alignment-X = #RIGHT
-    \once \override Staff.InstrumentName #'self-alignment-Y = #UP
-    \once \override Staff.InstrumentName #'Y-offset =
+    \once \override Staff.InstrumentName.self-alignment-X = #RIGHT
+    \once \override Staff.InstrumentName.self-alignment-Y = #UP
+    \once \override Staff.InstrumentName.Y-offset =
       #(lambda (grob)
          (+ 4 (system-start-text::calc-y-offset grob)))
-    \once \override Staff.InstrumentName #'padding = #0.3
-    \once \override Staff.InstrumentName #'stencil =
+    \once \override Staff.InstrumentName.padding = #0.3
+    \once \override Staff.InstrumentName.stencil =
       #(lambda (grob)
-         (let* ((instrument-name (ly:grob-property grob 'long-text))
-                (layout (ly:output-def-clone (ly:grob-layout grob)))
-                (music (make-sequential-music
-                        (list (context-spec-music
-                               (make-sequential-music
-                                (list (make-property-set
-                                       'instrumentName instrument-name)
-                                      (make-grob-property-set
-                                       'VerticalAxisGroup
-                                       'Y-extent '(-4 . 4))))
-                               'MensuralStaff)
-                              $incipit-music)))
-                (score (ly:make-score music))
-                (mm (ly:output-def-lookup layout 'mm))
-                (indent (ly:output-def-lookup layout 'indent))
-                (width (ly:output-def-lookup layout 'incipit-width))
-                (incipit-width (if (number? width)
-                                   (* width mm)
-                                   (* indent 0.5))))
-
-           (ly:output-def-set-variable! layout 'indent (- indent
-                                                          incipit-width))
-           (ly:output-def-set-variable! layout 'line-width indent)
-           (ly:output-def-set-variable! layout 'ragged-right #f)
-           (ly:output-def-set-variable! layout 'ragged-last #f)
-           (ly:output-def-set-variable! layout 'system-count 1)
-           (ly:score-add-output-def! score layout)
-           (ly:grob-set-property! grob 'long-text
-                                  (markup #:score score))
+        (let* ((instrument-name (ly:grob-property grob 'long-text)))
+          (set! (ly:grob-property grob 'long-text)
+                #{ \markup
+                     \score
+                        {
+                          { \context MensuralStaff \with {
+                               instrumentName = #instrument-name
+                               \override VerticalAxisGroup.Y-extent = #'(-4 . 4)
+                            } $incipit-music
+                          }
+                          \layout { $(ly:grob-layout grob)
+                                    line-width = \indent
+                                    indent =
+                               % primitive-eval is probably easiest for
+                               % escaping lexical closure and evaluating
+                               % everything respective to (current-module).
+                                    #(primitive-eval
+                                       '(or (false-if-exception (- indent (* mm incipit-width)))
+                                           (* 0.5 indent)))
+                                    ragged-right = ##f
+                                    ragged-last = ##f
+                                    system-count = #1 }
+                        }
+                 #})
            (system-start-text::print grob)))
   #})
 
@@ -76,7 +66,7 @@ global = {
   \skip 1*8
 
   % let finis bar go through all staves
-  \override Staff.BarLine #'transparent = ##f
+  \override Staff.BarLine.transparent = ##f
 
   % finis bar
   \bar "|."
@@ -103,7 +93,7 @@ discantusNotes = {
     c'4 e'4.( d'8 c' b |
     a4) b a2 |
     b4.( c'8 d'4) c'4 |
-    \once \override NoteHead #'transparent = ##t
+    \once \override NoteHead.transparent = ##t
     c'1 |
     b\breve |
   }
@@ -140,7 +130,7 @@ altusNotes = {
     a2 g4 e |
     fis g4.( fis16 e fis4) |
     g1 |
-    \once \override NoteHead #'transparent = ##t
+    \once \override NoteHead.transparent = ##t
     g1 |
     g\breve |
   }
@@ -178,7 +168,7 @@ tenorNotes = {
     R1 |
     % two measures
     r2 d'2. d'4 b e' |
-    \once \override NoteHead #'transparent = ##t
+    \once \override NoteHead.transparent = ##t
     e'1 |
     d'\breve |
   }
@@ -214,7 +204,7 @@ bassusNotes = {
     R1 |
     R1 |
     g2. e4 |
-    \once \override NoteHead #'transparent = ##t
+    \once \override NoteHead.transparent = ##t
     e1 |
     g\breve |
   }
@@ -263,7 +253,7 @@ bassusLyrics = \lyricmode {
     \context {
       \Score
       %% no bar lines in staves or lyrics
-      \override BarLine #'transparent = ##t
+      \override BarLine.transparent = ##t
     }
     %% the next two instructions keep the lyrics between the bar lines
     \context {
@@ -274,7 +264,7 @@ bassusLyrics = \lyricmode {
     \context {
       \Voice
       %% no slurs
-      \override Slur #'transparent = ##t
+      \override Slur.transparent = ##t
       %% Comment in the below "\remove" command to allow line
       %% breaking also at those bar lines where a note overlaps
       %% into the next measure.  The command is commented out in this