TRANSPOSITION = #(cons #f #f)

transposeGlobal =
#(define-void-function (from to) (ly:pitch? ly:pitch?)
   (set! TRANSPOSITION (cons from to)))

transposable =
#(define-music-function (fromto music) (pair? ly:music?)
  (if (car fromto)
    #{
      \transpose #(car fromto) #(cdr fromto) #music
    #}
    music))

% Akkorde in Strophen transponieren
#(define-markup-list-command (transpose layout props from to markuplist)
  (markup? markup? markup-list?)

  (define (markup->pitch m)
    (ly:assoc-get (string->symbol (markup->string m)) pitchnames))

  (interpret-markup-list layout (prepend-alist-chain 'transposition (cons (markup->pitch from) (markup->pitch to)) props) markuplist))