diff options
Diffstat (limited to 'Documentation/snippets/incipit.ly')
-rw-r--r-- | Documentation/snippets/incipit.ly | 75 |
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))) #}) |