• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

tweak-Befehl als scheme-Ausdruck

Begonnen von harm6, Dienstag, 5. April 2011, 00:49

Vorheriges Thema - Nächstes Thema

harm6

Hallo,

ich versuche den tweak-Befehl aus

\version "2.12.3"

#(define pi  3.141592654)

\relative c'' {
  \set fingeringOrientations = #'(left)
  \displayMusic
  <c-5
  -\tweak #'text #(markup  #:line (" "
          #:raise -1.8
          #:pad-x 0.5
          #:draw-line (cons 1.5 (* 1.5 (tan (* (* 2 pi) (/ 24 360)))))))
-5>
}


in einen scheme-Ausdruck zu übersetzen.

(Der car-Wert in draw-line ist die übliche horizontale Ausdehnung hier: 1.5
Als cdr-Wert möchte ich den Winkel zw. X-Achse und Hypotenuse haben hier: 24°. Deshalb die aufwendige Umrechnung erst ins Bogenmaß und dann die Bestimmung des y-Wert mittels der umgeformten tangens-Gleichung.)


Mit Anleitung durch http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Using-Scheme-code-instead-of-_005ctweak#Using-Scheme-code-instead-of-_005ctweak habe ich

\version "2.12.3"

#(define pi  3.141592654)

E = #(let ((m (make-music 'FingeringEvent
                          'digit 5 )))
       (set! (ly:music-property m 'tweaks)
             (acons list (list 'text
              line-markup
              (list (markup #:line
              (#:simple " "
              #:raise -1.8
              (#:pad-x 0.5
              (#:draw-line (cons 1.5  (* 1.5 (tan (* (* 2 pi) (/ 24 360)))))))))))
                    (ly:music-property m 'tweaks)))
       m)

\relative c'' {
       
  \set fingeringOrientations = #'(left)
  \displayMusic         

  <c-5-\E>
}


erstellt, was fast richtig ist wie \displayMusic  zeigt, aber noch ohne die gewünschte Linie.

Nun komme ich nicht weiter.

Weiß jemand Rat?

Gruß,
  Harm

harm6

Nach einem längeren Lernprozeß habe ich es hinbekommen.
Richtig ist:

\version "2.12.3"

#(define pi  3.141592654)

E = #(let ((m (make-music 'FingeringEvent
                          'digit 5 )))
       (set! (ly:music-property m 'tweaks)
             (list (list 'text
              line-markup
              (list (markup
            #:line
            (#:simple
            " "
            #:raise
            -1.8
                (#:pad-x
              0.5
            (#:draw-line (cons 1.5 (* 1.5 (tan (* (* 2 pi) (/ 24 360)))))))))))))
       m)

\relative c'' {
       
  \set fingeringOrientations = #'(left)     
<c-5-\E>
}