On 2018-10-09 7:54 am, Urs Liska wrote:
Hi,
I have a custom \path markup, implemented as an event function.
This works well, but when I add a slur I don't manage to get it to
behave it properly. What I want is to print the vertical lines and
then outside the slur, just like with the staccatissimo. But there
will first be the slur and then the "articulation". So far I haven't
found out how to manage that. avoid-slur doesn't seem to have any
effect, and when I override outside-staff-priority I only get to a
point where the two lines are incorrectly aligned vertically.
Any suggestions how I can print these lines like an ordinary
articulation?
Thanks
Urs
%%%
\version "2.19.82"
indicator =
#(define-event-function ()()
#{
\tweak X-offset 0.75
-\markup \path #0.17 #'((moveto 0 0) (lineto 0 0.75))
#})
\relative {
%\override TextScript.avoid-slur = #'inside
d''4 e8 [ ^\indicator ( e ] ^\indicator )
d8 [ -. ( d ] -. )
}
%%%
LSR shows using \tweak stencil as a way to override the appearance of an
articulation for doing something custom:
%%%%
indicator = \tweak stencil
#(lambda (grob) (grob-interpret-markup grob
#{ \markup \path #0.17 #'((moveto 0.75 0) (lineto 0.75 0.75)) #}))
\stopped
%%%%
Of course, this doesn't help with the custom event function. Consider
this:
%%%%
\version "2.19.82"
indicator = #(define-event-function ()()
#{ -\markup \with-dimensions #'(0 . 0) #'(0 . 0.75)
\path #0.17 #'((moveto 0.75 0) (lineto 0.75 0.75)) #})
\relative {
\override TextScript.outside-staff-priority = #0
\override Slur.outside-staff-priority = #1
d''4 e8 [ ^\indicator ( e ] ^\indicator )
d8 [ -. ( d ] -. )
}
%%%%
If you allow the markup to have any width (e.g. try "#'(0 . 1e-14)"), it
seems to break things.
-- Aaron Hill
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user