lilypond-user
[Top][All Lists]
Advanced

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

Re: A must-see for anybody on this list


From: David Kastrup
Subject: Re: A must-see for anybody on this list
Date: Tue, 12 Feb 2013 20:41:51 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Joseph Rushton Wakeling <address@hidden> writes:

> On 02/12/2013 02:50 PM, David Kastrup wrote:
>> Joseph Rushton Wakeling <address@hidden> writes:
>>> What you actually want to see in a given passage is something like,
>>>
>>> {
>>>    \set Staff.transposition = #'chromatic
>>>    c'4 bf' gs' e'    % any transposition applied to this passage
>>>                      % will be chromatic
>>>    \set Staff.transposition = #'tonal
>>>    c' d' e' f'       % whereas this will be treated tonally
>>> }
>>
>> That does not make all that much sense: transposition works at a time
>> when contexts are not live or active, so context properties are not
>> useful generally.  They _could_ be used for manipulating the manner in
>> which _quoted_ music is getting transposed: this happens on-the-fly
>> during context interpretation.
>
> Well, we can discuss the right way to do it in terms of Lilypond's
> notation, but the fact remains that musically what you want to be able
> to say is,
>
> {
>    %% If you transpose the following, please do so in a chromatic way
>    c'4 bf' gs' e'    % any transposition applied to this passage
>                      % will be chromatic
>    %% If you transpose the following, please do so in a tonal way
>    c' d' e' f'       % whereas this will be treated tonally
> }
>
>
> A function that wraps, like naturalizeMusic, doesn't cut it, because
> if I do something like,
>
>   \naturalizeMusic {
>       % a chromatic passage
>       % a tonal passage
>       % a chromatic passage
>   }
>
> then the naturalization will affect both the chromatic _and_ tonal
> passages, and that's undesirable.

If you want different passages in music behave differently when included
in a single \transpose command, that more or less means that they need
to use different callbacks at least in some anchoring expressions (like
we use a relative-callback for doing \relative on diverse expressions).
But how would one deal with quoted music?

One implementation strategy might be to _not_ use callbacks for
transposing at all, but instead have a callback for cleaning up after
transposition.  Those callbacks would then be exercised only when
scorifying (meaning that they would not bother about correcting
accidentals to the printable range when transposing back and forth).
Everything before that stage would not be restricted concerning its
accidentals (like having 4 sharps on a note).

Still not sure how this should combine with quoting, though.

-- 
David Kastrup




reply via email to

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