On 2016-09-21 11:49, Urs Liska wrote:
Concretely I want to add a text element at a certain position to a
(ly:stencil-add
construction.
Hi Urs,
grob-interpret-markup is the way to create text. You can position it
with ly:stencil-translate, and add it to another stencil using
ly:stencil-add:
(ly:stencil-add
your-current-stencil
(ly:stencil-translate
(grob-interpret-markup
grob
(markup "Hey"))
'(2 . 3)))
ly:stencil-combine-at-edge is also really handy if you want to position
a stencil relative to bounding box of another one, like "place this
thing vertically centered so its left edge is 0.1 staff spaces away from
the right edge of this other thing."
The other thing I didn't find is: how can I create a dashed (or
otherwise styled) line stencil with make-line-stencil?
I don't think it's possible, but you can use draw-dashed-line /
draw-dotted-line in a grob-interpret-markup.
More generally: how can I learn more about these things? Searching
lilypond.org seems to only point to snippets and no real explanations.
I've generally relied on examining examples in the LSR to learn about
this sort of thing. The "Scheme functions" section of the Notation and
Internals manuals is helpful, but a lot of the functions are not clearly
documented, and they're definitely not presented in a manner that's
conducive to step-by-step learning.
Since it's pretty tough to use stencils, as you can see I resort a lot
to markups. They're not the perfect solution, but they're better
documented and easier to use.
Nathan
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user