Oh, sehr schöne Änderung. Ich hab mich schon immer gefragt, was „parser“ und „location“ da zu suchen haben, wenn die eh nie jemand verwendet

Wenn ich mir mal das Ergebnis des folgenden Codes anschau, dann hab ich das Gefühl, dass \quoteDuring sich einfach wie \newQuoteDuring verhalten sollte, oder? Es scheint sich sowohl mit \transposition als auch mit \transpose zu verstehen (bei ersterem hatte ich erst meine Zweifel, weil es in define-music-properties.scm heißt, dass quoted-transposition \transposition überschreibt.
\version "2.19.22"
newQuoteDuring =
#(define-music-function
(what main-music)
(string? ly:music?)
(make-music 'QuoteMusic
'element main-music
'quoted-music-name what
'quoted-transposition #{ c' #} ))
A = \relative {
\key c \major
c'4 d e f
g a b c
}
\addQuote "a" \A
B = \relative {
\quoteDuring "a" s1
g'2 f4 e
}
C = \relative {
\newQuoteDuring "a" s1
g'2 f4 e
}
\score {
<<
\new StaffGroup <<
\new Staff { \A }
\new Staff { \B }
\new Staff { \C }
>>
\new StaffGroup <<
\new Staff { \transposition a \A }
\new Staff { \transposition a \B }
\new Staff { \transposition a \C }
>>
\new StaffGroup <<
\new Staff { \transpose a c' \A }
\new Staff { \transpose a c' \B }
\new Staff { \transpose a c' \C }
>>
>>
}Edit: falsch gedacht, es überschreibt doch eine \transposition. Nämlich die des zitierten Teils:
\version "2.19.22"
newQuoteDuring =
#(define-music-function
(what main-music)
(string? ly:music?)
(make-music 'QuoteMusic
'element main-music
'quoted-music-name what
'quoted-transposition #{ c' #} ))
A = \relative {
\transposition g
\key c \major
c'4 d e f
g a b c
}
\addQuote "a" \A
B = \relative {
\transposition g
\quoteDuring "a" s1
g'2 f4 e
}
C = \relative {
\transposition g
\newQuoteDuring "a" s1
g'2 f4 e
}
\score {
<<
\new StaffGroup <<
\new Staff { \A }
\new Staff { \B }
\new Staff { \C }
>>
\new StaffGroup <<
\new Staff { \transposition a \A }
\new Staff { \transposition a \B }
\new Staff { \transposition a \C }
>>
\new StaffGroup <<
\new Staff { \transpose a c' \A }
\new Staff { \transpose a c' \B }
\new Staff { \transpose a c' \C }
>>
>>
}2. Edit mit Lösung: Ich habe jetzt beschlossen, dass das geänderte Verhalten bezüglich Transpositionen mich nicht stört, weil nur Fälle anders sind, die ich sowieso nicht benutze (nämlich dann, wenn man schon in den Noten-Variablen Transpositionen setzt – Ich setze aber erst in der Partitur alle möglichen Transpositionen). Daraufhin habe ich die Funktion erweitert und umbenannt: \ottavaQuoteDuring kann Zitate beliebig viele Oktaven transponieren; außerdem färbe ich Zitate jetzt ein, um zu wissen, welche Stimme gerade das „Original“ hat. Code ist zu finden in der Datei advanceQuote.ily in
diesem Post.