I'm now able to include the eps - but
still struggle to place the clef (it should be centered on the
G-Line) as I like to do:
I tried to include whitespace above
the clef in the eps, but this didn't change anything, looks like
the bottom of the eps is placed on the g-line.
Le samedi 08 avril 2023 à 10:58 +0200, Johannes Roeßler a
écrit :
now I managed to make my EPS accessable in Lilypond, and I
am able to use it as markup.
Now I want to use it to replace a clef. In the snippets
there is a way, that creates an alternative stencil and then
uses:
\override Clef.stencil =
#(lambda (grob)
(let* ((sz (ly:grob-property grob 'font-size 0))
(mlt (magstep sz))
(glyph (ly:grob-property grob 'glyph-name)))
(cond
((equal? glyph "clefs.F")
(ly:stencil-scale my-clef (* 1 mlt) (*
1 mlt)))
((equal? glyph "clefs.F_change")
(ly:stencil-scale my-clef (* .8 mlt) (*
.8 mlt)))
(else (ly:clef::print grob)))))
- but in this case I would need to define the stencil. Is
there a way to replace a clef glyph with an EPS?
There is a general technique you can use to replace any
grob's stencil using a markup: set the stencil property to ly:text-interface::print
,
which tells LilyPond to compute the stencil using the markup
in the text
property, and set that property to
what you want.
\layout {
\override Staff.Clef.stencil = #ly:text-interface::print
\override Staff.Clef.text = \markup \epsfile #X #10 "/home/jean/repos/lilypond/input/regression/lilypond.eps"
}
HTH,
Jean