Hallo Heinz,
die größte Änderung liegt in der Verwendung von #{ ... #} in Musikfunktionen.
Der Aufruf einer Variablen braucht nicht mehr immer ein vorangestelltes $-Zeichen. Die Konvertierung via convert-ly funktioniert für diesen Fall aber problemlos.
Eine Folge dieser Änderung ist aber auch, daß weitere scheme-Definitionen innerhalb von #{ ... #} nicht mehr so einfach zulässig sind, sondern außerhalb bzw vorangestellt werden müssen. Diese Änderung ist nur gut und richtig, denn die alte Methode bedeutete, daß man in einem ly-file nach scheme wechslet, dann in lilypond in scheme nach LilyPond, dann in LilyPond in scheme in Lilypond nach scheme. Diese Gemengelage ist jetzt um einen Schritt verkürzt.
Eine weitere Änderung ist, daß ly:stencil-combine-at-edge nur noch fünf Argumente hat, vormals sechs. Ob das irgendwo dokumentiert ist, weiß ich nicht. Falls ja so ist es an mir vorbeigegangen, ich habe es jedenfalls auf die harte Tour herausgefunden.
Bei den zuletzt genannten Änderungen scheitert convert-ly, sodaß manuelles upgraden erforderlich ist.
Der Code stellt sich nun so dar:
\version "2.16.1"
% https://liarchiv.joonet.de/index.php?topic=605.msg3313#msg3313
#(define ((underBarLine markup) grob)
(ly:stencil-combine-at-edge (ly:bar-line::print grob)
Y DOWN (grob-interpret-markup grob markup) 0))
schlussMarkupOne = \markup \with-dimensions #'(0 . 0) #'(-10 . 5)
\right-align \tiny
\fill-line {\null "poet1 (16xx- 17xx)" "composer1 (1685-1750)" \null}
lastLine =
#(define-music-function (parser location str-one str-two) (string? string?)
(define ((underBarLine markup) grob)
(ly:stencil-combine-at-edge (ly:bar-line::print grob)
Y DOWN (grob-interpret-markup grob markup) 0))
(define schlussMarkup
(markup #:with-dimensions '(0 . 0) '(-10 . 5)
#:right-align
#:tiny
#:fill-line ("" str-one str-two "")))
#{
\once \override Staff.BarLine #'stencil = #(underBarLine schlussMarkup)
#})
\paper {
ragged-right = ##f
print-all-headers = ##t
}
%------------------- Test ------------------------------------------------------
one =
\relative c'' {
a1 \break
b
\once \override Staff.BarLine #'stencil = #(underBarLine schlussMarkupOne)
}
two =
\relative c'' {
c1 \break
d
\lastLine #"poet2 (??- !!!)" #"composer2 (bla-blub)"
}
\score {
\new Staff = "one"{
<<
\one
>>
}
\header {
title = "title 1"
subtitle = "subtitle1"
subsubtitle = "subsubtitle1"
composer = "composer1"
arranger = "arranger1"
poet = "poet1"
}
\layout { }
}
\score {
\new Staff = "two" {
<<
\two
>>
}
\header {
title = "title 2"
subtitle = "subtitle2"
subsubtitle = "subsubtitle2"
composer = "composer2"
arranger = "arranger2"
poet = "poet2"
}
\layout { }
}
HTH,
Harm