|
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
[Prev in Thread] | Current Thread | [Next in Thread] |