lilypond-devel
[Top][All Lists]
Advanced

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

Macros


From: Erik Sandberg
Subject: Macros
Date: Mon, 27 May 2002 23:06:11 +0200

Hi,

The recent talk about footnotes reflects quite well something I miss in 
Lilypond (right now I write footnotes as comments). However, to make a very 
good (scientific AND playble) edition of a piece, it should be both very 
readable and contain much information. This is a problem, since too much 
information makes things harder to read, but the problem is easily solvable 
by creating two different scores: one which is extremely rigorous, and all 
notes exactly as they were in the original, and one with no footnotes and 
"bad" notes corrected. For example:

Scientific:
a8 b c\footnote{"c in manuscript, should be a cis"} d
(or whatever the syntax will be)
Readable:
a8 b cis d

In this case, information sharing would be good: Maintaining two separate 
files for the two versions feels a bit primitive (though it's probably what 
I'm going to do). What really would be needed to make this kind of thing 
smoothly is some kind of simple preprocessor, like what in C would be 
expressed as
a8 b
#ifdef scientific
c\footnote{..}
#else
cis
#endif
d
but with a simpler syntax of course. This would also allow simple 
arrangements of pieces, e.g. a basso continuo part written for cello could be 
arranged to guitar just by placing "#ifdef"s around the instrument name and 
\clef, and around any notes that need to be changed due to instrument 
differences (e.g. replacing "d," with "d" since d, is outside the guitar's 
range).

I don't know Lilypond extremely well, so there might actually 
be some way to do this kind of information sharing fairly smoothly (I have 
found a few dirty ways to do most of the simplest tasks, but not simply 
enough to be really useful).

Is there already a good way to do this, and if not, does it sound sensible to 
add a preprocessor to Lilypond?

Erik



reply via email to

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