In message
<7958d8c70907061548m4a1d58adocc98552164aa2...@mail.gmail.com>, Francisco
Vila <paconet....@gmail.com> writes
I don't know how it works, but can imagine that the transpose function
should be *much* more clever than it currently is, to realize itself
it is inside a relative block. So it leaves the user with the task of
doing it manually whenever needed.
Actually, as I understand it (I may be wrong) it CAN'T be cleverer. The
problem is the confusion between note NAMES and note PITCHES.
When a text file is parsed by lilypond, it dumps a stream of note NAMES
into lilypond. "relative" reads that list of NAMES and converts it into
PITCHES. "transpose" on the other hand needs to work on PITCHES so if it
is fed a stream of NAMES, it converts them to pitches (thinking in
absolute mode) itself.
That's why sticking a transpose inside a relative messes up - by the
time the note gets to "relative" it's already been converted to a pitch
by "transpose", so "relative" doesn't have a name to work with. So
relative just feeds the pitch straight through - unaltered.
Cheers,
Wol
--
Anthony W. Youngman - anth...@thewolery.demon.co.uk
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user