Joseph Rushton Wakeling <joseph.wakel...@webdrake.net> writes: > On 02/12/2013 02:50 PM, David Kastrup wrote: >> Joseph Rushton Wakeling <joseph.wakel...@webdrake.net> 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 _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user