Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: Köbi am Montag, 4. Februar 2019, 21:07

Titel: Quote transponieren
Beitrag von: Köbi am Montag, 4. Februar 2019, 21:07
Hallo zusammen

Ich möchte ein Quote transponieren. Wieso funktioniert das nicht?


\version "2.19.82"

vA = { c' }

\addQuote "q" \vA

vB =
{
  \quoteDuring #"q" { s }
}

% Funktioniert wie erwartet: Es erscheint ein d.
\transpose c d { \vA }

% Funktioniert NICHT wie erwartet.
% Es sollte auch ein d erscheinen, aber es erscheint c.
\transpose c d { \vB }


Der zweite ausgegebene Ton ist leider ein c. Beide ausgegebenen Töne sollten ein d sein. Wie schaffe ich es, ein Quote zu transponieren?

Danke für eure Hilfe, Köbi
Titel: Antw:Quote transponieren
Beitrag von: harm6 am Dienstag, 5. Februar 2019, 02:08
Vielleicht hilft:


transposedQuoteDuring =
#(define-music-function
   (what dir pitch main-music)
   (string? ly:dir? ly:pitch? ly:music?)
   (make-music 'QuoteMusic
               'element main-music
               'quoted-music-name what
               ;'quoted-voice-direction dir
               ;; following is inverse of instrumentTransposition for
               ;; historical reasons
               'quoted-transposition pitch))

vA = { c' }

\addQuote "q" \vA

vB =
{
  \transposedQuoteDuring #"q" #DOWN c' { s }
}

% Funktioniert wie erwartet: Es erscheint ein d.
\transpose c d { \vA }
% Es erscheint ein d.
\transpose c d { \vB }


Gruß,
  Harm
Titel: Antw:Quote transponieren
Beitrag von: Köbi am Sonntag, 21. April 2019, 18:38
Hallo Harm

Sorry für die späte Antwort. Leider habe ich jeweils nur im Urlaub zeit, mich mit Lilypond intensiver zu befassen, so dass ich es schaffe, mit dem Forum zu arbeiten.

Es funktioniert wie von dir vorgeschlagen, Danke! Ich habe mir erlaubt, deine Lösung noch etwas aufzuhübschen. So wie ich es sehe, braucht es zwei Parameter gar nicht.


\version "2.19.83"

quoteDuringT = #(
  define-music-function
  (what main-music)
  (string? ly:music?)
  (make-music
    'QuoteMusic
    'element main-music
    'quoted-music-name what
    'quoted-transposition #{ c' #}
  )
)

vA = { c' }

\addQuote "q" \vA

vB =
{
  \quoteDuringT #"q" { s }
}

% Funktioniert wie erwartet: Es erscheint ein d.
\transpose c d { \vA }
% Es erscheint ein d.
\transpose c d { \vB }


Für meinen Fall funktioniert es so und ich denke, es müsste auch sonst funktionieren.

Gruss, Köbi