]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 754: don't transpose generic property-setting music commands
authorDavid Kastrup <dak@gnu.org>
Thu, 7 Feb 2013 09:18:39 +0000 (10:18 +0100)
committerDavid Kastrup <dak@gnu.org>
Mon, 11 Feb 2013 16:05:23 +0000 (17:05 +0100)
The actual issue was that
\transpose c e { \transposition bes ... }

created a Midi corresponding to an instrument using a transposition of
ges, leaving the Midi unchanged.  Making the generic property-setting
commands (\set and \override) impervious to transposition will also
keep \transpose from tampering with user-set values.

This is particularly important since the pitch data type in LilyPond
is also being used for signifying intervals or pitch differences
rather than absolute pitches.

scm/define-music-types.scm

index dc93024041d961a8918d8c4ed0a79377fee3eed2..e7d121b411c210be1685e4b5e8362429ed7217e1 100644 (file)
@@ -376,6 +376,7 @@ Syntax: @code{\\override} [ @var{context} @code{.} ]
        (types . (general-music layout-instruction-event
                  override-property-event))
        (iterator-ctor . ,ly:push-property-iterator::constructor)
+       (untransposable . #t)
        ))
 
     (PageBreakEvent
@@ -442,6 +443,7 @@ Syntax: @var{note}@code{\\(} and @var{note}@code{\\)}")
 Syntax: @code{\\set @var{context}.@var{prop} = @var{scheme-val}}")
        (types . (layout-instruction-event general-music))
        (iterator-ctor . ,ly:property-iterator::constructor)
+       (untransposable . #t)
        ))
 
     (PropertyUnset