Am Mi., 1. Mai 2019 um 09:59 Uhr schrieb Markus Rother <m...@markusrother.de>: > > % Embedding \fromproperty in a \score is not working (at least not) for > header properties. > % If header scope is hidden by design, how can I achieve the following? > % Many thanks and best regards, Markus > \book { > \paper { > indent = 0\mm > scoreTitleMarkup = \markup { > \fromproperty #'header:piece % works as expected > \score { > { s^\markup { "FOO" \fromproperty #'header:piece "BAR" } } % > property not visible > \layout {} > } > } > } > \score { > { s1 } > \header { > piece = "MENUET" > } > } > \score { > { s1 } > \header { > piece = "RONDEAU" > } > } > }
Hi Markus, thanks for your report. As far as I understand things, \fromproperty can't be used successfully outside from \paper and/or in common markup. (score-markup is such a common markup.) Thus, below fails to print "MY-TITLE" \header { title = "MY-TITLE" } \markup { something \fromproperty #'header:title something } There is http://lsr.di.unimi.it/LSR/Item?id=467 which has access to $defaultheader, thus below works \header { title = "MY-TITLE" } \markup { something \markupWithHeader \fromproperty #'header:title something } (code for markupWithHeader is not copied here, take it from the linked LSR-snippet) As soon as you wrap \book around above it fails again, because \header in book is not the $defaultheader. There's a TODO in said snippet: ";; TODO: If we are inside a score, add the score's local header block, too!" I don't know how, though. So yes, it would be nice to have a method to access book/score-header like the LSR-snippet does for $defaultheader. Not sure if possible at all... For now, I thought about how to find a work-around for your use-case... Why do you need a score _in_ scoreTitleMarkup? Likely for a short excerpt or hints about scordatura or similiar. But is it really necessary to code the piece-name as a common TextScript _inside_ this score? Probably you can do something like below. Yeah, more manual work, I know ... \book { \paper { indent = 0\mm scoreTitleMarkup = \markup \column { \line { \hspace #20 "FOO" \fromproperty #'header:piece "BAR" } \fromproperty #'header:sample \fromproperty #'header:piece } } \score { { s1 } \header { piece = "MENUET" sample = \markup \score { cis'1 \layout { indent = 30 } } } } \score { { s1 } \header { piece = "RONDEAU" sample = \markup \score { d'1 \layout { indent = 30 } } } } } Cheers, Harm _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond