bug-lilypond
[Top][All Lists]
Advanced

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

Re: Issue 2072 in lilypond: Add proper complex variables to Lilypond


From: David Kastrup
Subject: Re: Issue 2072 in lilypond: Add proper complex variables to Lilypond
Date: Sun, 04 Dec 2011 12:34:00 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux)

Werner LEMBERG <address@hidden> writes:

>>>   part[3].violin[1]
>> 
>> That's the logic of the musician rather than the programmer speaking.
>> If you wanted it to be _that_, you'd have to call it \part3violin1, I am
>> afraid.
>
> Oh, yes, of course, I forgot to mention it.
>
>> I actually don't see all that many uses for it (possibly because I
>> did not write large projects in Lilypond yet) until one starts doing
>> iterators and similar fun (not part of this proposal).  One obvious
>> use case would be to use a vector as the recipient for
>> \parallelMusic.
>
> There's a misunderstanding: I'm not talking about using those
> `vectors' within Scheme programming, but simply to give structure to
> the whole bunch of necessary parts of a large-scale score with many
> movements.

TeX programmers have no qualms doing (code cleaned up for clarity):

\count255=0
\loop
  \advance \count255 by 1 %
  \ifnum \count255<#2\relax
  {\csname part\number\count255 violin#1\endcsname}%
\repeat

namely using the command names for indexing purposes.  Of course, one
can already do that with Scheme.  Whatever value you can recall with
\xxx from a Scheme variable named xxx, you can equally well access using
$(some-scheme-construct) from more complex Scheme structures.  But
some-scheme-construct can't go looking for arguments in Lilypond syntax.

-- 
David Kastrup



reply via email to

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