lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: vertical ordering of a custom event-function markup


From: Aaron Hill
Subject: Re: vertical ordering of a custom event-function markup
Date: Tue, 09 Oct 2018 09:55:02 -0700
User-agent: Roundcube Webmail/1.3.6

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]