lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Manipulating lyrics with a music function


From: David F.
Subject: Re: Manipulating lyrics with a music function
Date: Sat, 9 Oct 2021 13:47:22 -0600

On Oct 8, 2021, at 10:33 PM, Aaron Hill <lilypond@hillvisions.com> wrote:

> On 2021-10-08 8:24 pm, David F. wrote:
>> macOS 10.14.6, Lilypond 2.22.1
>> The syntax for adding quotes to lyrics is a little cluttered, so I
>> thought I’d whip up a couple of little helper functions to tidy things
>> up.  Two hours later I’m reaching out to the mailing list for help.
>> The example below is failing in two ways.  First, I can’t figure out
>> how to actually interpolate the syllable that is the input to my
>> functions into the output.  Second, the hyphen between the first two
>> syllables is lost.
> 
> Your functions could accept the text as markup.  Also, you should strongly 
> consider using typographer's quotes, which can be input directly as UTF-8 or 
> using character shorthand neither of which requires messing about with 
> escaping:
> 
> %%%%
> \paper { #(include-special-characters) }
> \relative { \time 3/4 e'4 e4. e8 d4 e d c2. }
> \addlyrics { &elqq;In -- com -- pa -- ra -- ble,&erqq; said she }
> 
> openQuote = #(define-scheme-function (text) (markup?) #{ \markup \concat { “ 
> #text } #})
> closeQuote = #(define-scheme-function (text) (markup?) #{ \markup \concat { 
> #text ” } #})
> \relative { \time 3/4 e'4 e4. e8 d4 e d c2. }
> \addlyrics { \openQuote In -- com -- pa --  ra -- \closeQuote ble, said she }
> %%%%

Thanks Aaron, that’s great.  Yes, using typographer’s quotes was one of my 
motivations for making the helper functions in the first place.

I did notice that the \markup defeats lyric ties.  It’s not a big deal—that 
combo only occurs once in the songs I have.  But now I’m curious.  What do 
lyric syllables get turned into?  A LyricEvent?  Is it possible to build and 
return a LyricEvent from a function?

%%%%
openQuote = #(define-scheme-function (text) (markup?) #{ \markup \concat { “ 
#text } #})
closeQuote = #(define-scheme-function (text) (markup?) #{ \markup \concat { 
#text ” } #})
\relative { \time 3/4 e'4 e4. e8 d4 e d c2. }
\addlyrics { \openQuote O~In -- com -- pa --  ra -- \closeQuote ble, said she }
%%%%

David F.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]