stencil verschieben

Begonnen von erich, Dienstag, 5. Mai 2020, 10:35

« vorheriges - nächstes »

erich

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

Manuela

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)
          )
Danke für eure Hilfe
viele Grüße
-- Manuela

erich

Danke Manuela,

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

Gruß
Erich