Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: erich am Dienstag, 5. Mai 2020, 10:35

Titel: stencil verschieben
Beitrag von: erich am Dienstag, 5. Mai 2020, 10:35
Hallo, ich hoffe, euch geht es noch gut!

Hier meine Frage:

Ich habe einen Kopf definiert durch

testKopf =
  \override Staff.Clef.stencil =
#(lambda (grob)
  (ly:stencil-translate-axis
  (ly:stencil-scale
    (grob-interpret-markup grob
      (markup #:override '(filled . #t) #:path 0 testkopf))
    -0.18
    0.18)
    1.3 X)
          )
   
testkopf = #'(
   (moveto 3.773 12.859)
   (curveto 0.332 12.301 -0.902 9.32 1.016 6.199)
   (curveto 2.938 3.074 7.285 0.992 10.734 1.543)
   (curveto 14.184 2.09 15.43 5.066 13.5 8.203)
   (curveto 11.57 11.344 7.219 13.418 3.773 12.859)
   (closepath)
   )


und kann diesen durch

\version "2.20.0"
\include "/home/erich/Test/testKopf.ly"
\score {
  \new Staff \with {\testKopf
                    \remove "Time_signature_engraver"}
  \new Voice {s}
}


anzeigen lassen.

Ich möchte den Kopf nicht nur in X-Richtung verschieben können, sondern gleichzeitig auch in Y-Richtung; wie muss ich das Skript erweitern?

Gruß
Erich
Titel: Antw:stencil verschieben
Beitrag von: Manuela am Dienstag, 5. Mai 2020, 11:40
Im Prinzip hast du die Lösung ja eh schon selber aufgeschrieben  ;)

Du fügst einfach ein zweites ly:stencil-translate-axis in Y-Richtung hinzu:

testKopf =
  \override Staff.Clef.stencil =
#(lambda (grob)
(ly:stencil-translate-axis
  (ly:stencil-translate-axis
  (ly:stencil-scale
    (grob-interpret-markup grob
      (markup #:override '(filled . #t) #:path 0 testkopf))
    -0.18
    0.18)
    1.3 X)
2.3 Y)
          )
Titel: Antw:stencil verschieben
Beitrag von: erich am Dienstag, 5. Mai 2020, 12:12
Danke Manuela,

wenn ich es dann sehe, sage ich: "ist doch klar!"

Gruß
Erich