|
From: | Paul Scott |
Subject: | Re: opposite of shortest-duration-space |
Date: | Fri, 3 Dec 2021 08:29:14 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
Thank you for your reply.
\bendAfter doesn't require a termination. I now know an easy
solution for unterminated glissandos but I see no reason to
reinvent the curves already built into \bendAfter.
I probably could look at the \bendAfter code and figure out how to get what I want. I just thought I would ask for the possibly direct solution.
Paul
I think bendAfter has a lot of issues with spacing and collisions. You can easily customise a glissando though to take advantage of its more robust functionality.
Here's a basic attempt. Currently it has a fixed path shape but someone better in Scheme can help to make this more flexible.
#(define (path-gliss grob)
(if (ly:stencil? (ly:line-spanner::print grob))
(let* ((stencil (ly:line-spanner::print grob))
(X-ext (ly:stencil-extent stencil X))
(Y-ext (ly:stencil-extent stencil Y))
(width (interval-length X-ext))
(len (interval-length Y-ext)))
(ly:stencil-translate
(grob-interpret-markup grob
(markup
(#:path 0.2
(list (list 'moveto 0 0)
(list 'curveto 0 0 7 0 width len)))))
(cons (interval-start X-ext) (interval-start Y-ext))))
#f))
\relative c' {
\override Score.SpacingSpanner.shortest-duration-space = #8
\once\override Glissando #'bound-details = #'((right (0 . 0) (end-on-accidental . #f) (padding . 2)) (left (0 . 0) (padding . 1.5)))
\once\override Glissando #'stencil = #path-gliss
c2\glissando e f\glissando g'
}
On Wed, Dec 1, 2021 at 8:13 PM Paul Scott <waterhorse@ultrasw.com> wrote:
Oops: 2.23.5
On 12/1/21 11:07 AM, Paul Scott wrote:
In Notation 1.3.2 Falls and Doits there is:
\override Score.SpacingSpanner.shortest-duration-space = #4.0 Is there a way to make the width of \bendAfter less? TIA, Paul
[Prev in Thread] | Current Thread | [Next in Thread] |