|
From: | Marc Hohl |
Subject: | Re: Would you donate for structured Lilypond variables? |
Date: | Tue, 06 Dec 2011 17:01:18 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Thunderbird/3.1.15 |
Am 06.12.2011 12:33, schrieb David Kastrup:
Marc Hohl<address@hidden> writes:Am 02.12.2011 17:44, schrieb David Kastrup:Marc Hohl<address@hidden> writes:Am 02.12.2011 12:02, schrieb David Kastrup:Marc Hohl<address@hidden> writes:Hello list, I have a lot of small music pieces with several stanzas which I store like this textA = \lyricmode { \set stanza = "1. " this is the first stan -- za. } textB = \lyricmode { \set stanza = "2. " and this one is the se -- cond. } textC = ...Why? If you want them processed automatically, why do you put them into dissociated macros and expect Lilypond to go hunting for them?How would you store several stanzas? It seemed very straightforward to use one variable (or macro) for one stanza.It is reasonably easy to generate symbol names, check whether there is anything bound to them, and collect them into some music, but it is also arbitrary and error-prone. Is there a particular reason you want your stanzas to be stored in a manner not useful for the processing you plan to do with them?Well, this was the easiest way that came into my mind, but it may be complete nonsens to do so - any more powerful ideas are highly appreciated.Why not just one \addlyrics { ... } after the other? That's how you would put them into your document, wouldn't it?Well, yes and no. I want to have the ability to a) use every stanza with \addlyrics b) use only the first stanza with \addlyrics and print additional stanzas as a text markup below the score. So ideally, I have one template for each output format, and squeeze my pile of songs through the appropriate template.You can already do something like $(module-ref (current-module) (string->symbol (format #f "text~a" letter))) to call a symbol by name (ugh, by the way). Going through the symbol name is what TeX freaks will do at the drop of a head ("Off with his \csname!"). I'd prefer a somewhat more structured approach. But it would be work.
Hey, \csname within lilypond - *that* would be great! ;-)
Check out<URL:http://code.google.com/p/lilypond/issues/detail?id=2072>. If enough people consider this worthwhile to contribute an appropriate donation towards its implementation, I'll be doing the infrastructure and docs for vectors in a manner that makes this extensible to other tasks.
Hmmm - the vector approach looks promising, but the syntax is not very convincing for me - but I understand that \violin[1] or \violin(1) won't work out of the box either. Regards, Marc
[Prev in Thread] | Current Thread | [Next in Thread] |