]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/snippets/incipit.ly
New instrument name positioning in scheme.
[lilypond.git] / Documentation / snippets / incipit.ly
index 46710df5a18c9af6e9e6386149130c2f3acfd923..3501ce2334e47cbae4807ba99f23c42eb4060dd1 100644 (file)
@@ -1,11 +1,10 @@
-%% Do not edit this file; it is automatically
-%% generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
+% Do not edit this file; it is automatically
+% generated from Documentation/snippets/new
+% This file is in the public domain.
+%% Note: this file works from version 2.13.4
 \version "2.13.4"
 
 \header {
-  lsrtags = "staff-notation, ancient-notation"
-
 %% Translation of GIT committish: b2d4318d6c53df8469dfa4da09b27c15a374d0ca
   texidoces = "
 Los «incipit» se pueden escribir utilizando el grob del nombre del
@@ -14,48 +13,52 @@ nombre del instrumento y del incipit."
 
  doctitlees = "Incipit"
 
+  lsrtags = "staff-notation, ancient-notation"
   texidoc = "
 Incipits can be added using the instrument name grob, but keeping
 separate the instrument name definition and the incipit definition.
-
 "
   doctitle = "Incipit"
 } % begin verbatim
 
+
 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 = #4
+    \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 =
-    #(lambda (grob)
-       (let* ((instrument-name (ly:grob-property grob 'long-text))
-              (layout (ly:output-def-clone (ly:grob-layout grob)))
-              (music (make-music 'SequentialMusic
-                      'elements (list (make-music 'ContextSpeccedMusic
-                                        'context-type 'MensuralStaff
-                                        'element (make-music 'PropertySet
-                                                   'symbol 'instrumentName
-                                                   'value instrument-name))
-                                      $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))
-         (ly:system-start-text::print grob)))
+      #(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-property-set
+                                'instrumentName instrument-name)
+                               '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))
+           (system-start-text::print grob)))
   #})
 
 %%%%%%%%%%%%%%%%%%%%%%%%%