lilypond-user
[Top][All Lists]
Advanced

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

Re: opposite of shortest-duration-space


From: Dimitris Marinakis
Subject: Re: opposite of shortest-duration-space
Date: Fri, 3 Dec 2021 17:51:14 +0200

https://github.com/lilypond/lilypond/blob/817d656cecb0f899ff6e7d1b5e900a5517c31f69/scm/define-grobs.scm
I believe here is the relevant code (Bend Spanner). I can see a padding setting. If you increase the padding and adjust the extra-offset it may work.

{
\override Score.SpacingSpanner.shortest-duration-space = #15
\override BendAfter.padding = #0.8
\override BendAfter.extra-offset = #'(-0.3 . 0)
 c'4-\bendAfter #3
 d'4
}


On Fri, Dec 3, 2021 at 5:29 PM Paul Scott <waterhorse@ultrasw.com> wrote:

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


On 12/1/21 12:36 PM, Dimitris Marinakis wrote:
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


reply via email to

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