summaryrefslogtreecommitdiff
path: root/Documentation/snippets/incipit.ly
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/snippets/incipit.ly')
-rw-r--r--Documentation/snippets/incipit.ly75
1 files changed, 27 insertions, 48 deletions
diff --git a/Documentation/snippets/incipit.ly b/Documentation/snippets/incipit.ly
index 299b1ef0e3..44b79af9ce 100644
--- a/Documentation/snippets/incipit.ly
+++ b/Documentation/snippets/incipit.ly
@@ -4,27 +4,10 @@
% and then run scripts/auxiliar/makelsr.py
%
% This file is in the public domain.
-%% Note: this file works from version 2.15.18
-\version "2.15.18"
+%% Note: this file works from version 2.15.42
+\version "2.15.42"
\header {
-%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
- 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"
-
-%% Translation of GIT committish: 57f9346bb030f49336a858fcbf1519366fe56454
- texidocfr = "
-Les « incipits » peuvent faire partie de l'objet @code{InstrumentName},
-tout en définissant de manière indépendante le nom de l'instrument et
-l'incipit.
-
-"
- doctitlefr = "Incipit"
-
lsrtags = "staff-notation, ancient-notation"
texidoc = "
Incipits can be added using the instrument name grob, but keeping
@@ -45,35 +28,31 @@ incipit =
\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)))
#})