On Thu, Apr 9, 2015 at 3:02 PM, Kieren MacMillan <
kieren_macmil...@sympatico.ca> wrote:

> Hi David,
>
> > you could just as easily write the following:
> >
> > \header {
> >  myTitle = #"myOtherTitle"
> >  title = \markup {
> >    from \italic #(string-upcase myTitle)
> >  }
> > }
>
> Yes, but at that point, why not just write
>
>  \header {
>    title = “MY OTHER TITLE"
>  }
>
> ??  ;)
>

This might prove the least labor-intensive solution :)


>
> Here’s the concrete use-case:
> 1. I have musical theatre pieces with (naturally enough) title case
> titles, such as “My Lucky Day”.
> 2. When they’re included in the Piano/Conductor score (or other score from
> the regular performance materials), the title should remain in title case.
> 3. When they’re included in a songbook, I’m trying to show the title in
> the the expected format, which is all-caps (cf. modern Warner-Chappell
> imprints), e.g., “MY LUCKY DAY”.
> 4. I want to accomplish this entirely in the stylesheets, and not have to
> have two different ways of inputting the title in the code/content.
>
> It seems odd to me that it’s so convoluted a process — and apparently so
> different, depending on whether it’s a string or a property.  =\


To make the title uppercase we have to work with it as a string.  I can't
extract the string from the \markup \fromproperty #'header:title statement,
presumably because header:title hasn't even been defined yet:

\header {
  title = "myTitle"
  title = \markup \fromproperty #'header:title
  #(format #t "~%is header:title defined? ~a~%~%" (defined? 'header:title))
}
\markup {
  \null
}

%%
David
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to