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: Urs Liska
Subject: Re: vertical ordering of a custom event-function markup
Date: Wed, 10 Oct 2018 10:29:09 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

Hi Aaron,


Am 09.10.2018 um 18:55 schrieb Aaron Hill:
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
%%%%


This is (to some extent) semantically problematic because it essentially abuses another articulation (here \stopped). But after some tests it seems to do exactly what I need, and I will use that solution. Thank you very much for that!

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.

This doesn't produce really nice spacing (actually the lines nearly clash with the slur). And I don't need the event function in the first place, I only need the articulation.

Best
Urs


-- Aaron Hill

_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user




reply via email to

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