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

Reply via email to