[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Macros
From: |
Han-Wen |
Subject: |
Re: Macros |
Date: |
Wed, 29 May 2002 22:34:30 +0200 |
address@hidden writes:
> > Often, you can do this in Lilypond without any ifdefs or
> > preprocessor. Just define the additional information using
> > a separate identifier and make two or more \score{} definitions
> > including different amount of information.
>
> The difference is when the differences are not additions, but modifications,
> like in this case: changing c\footnote{} to cis does not only remove the
> footnote, but it also changes the c to a cis. This can still be solved with
> the current lilypond, using something like
>
> diffA = \notes {c8\footnote{..}}
> \include "score.ly"
> diffA = \notes {cis8}
> \include "score.ly"
>
> where score.ly contains something like
> \score{ \notes {a8 b \diffA d}}
>
> However, I feel that this is too clumsy to be practical in larger scale (the
> source will be hard to follow and hard to write), hence it could be
> considered useful to add a more sophisticated system with \define.
The real issue is whether you can embed these directions and
alternatives in a nicely hierarchical way. If yes, then you can do
various things with Scheme functions and \apply.
--
Han-Wen Nienhuys | address@hidden | http://www.cs.uu.nl/~hanwen
- Macros, Erik Sandberg, 2002/05/27