lilypond-user
[Top][All Lists]
Advanced

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

Re: How to adjust the Y-offset of volta spanners?


From: David Nalesnik
Subject: Re: How to adjust the Y-offset of volta spanners?
Date: Wed, 2 May 2012 22:36:31 -0500

Hi Jim,

On Wed, May 2, 2012 at 9:59 PM, <address@hidden> wrote:
I have a first ending at the end of a line, which is nicely
spaced (vertically).

The second ending is at the beginning of the next line, and the
right end of the spanner is above a rehearsal letter (/mark
/default).  There is more space than necessary between the
rehearsal mark and the second ending volta spanner, and indeed,
more than necessary under the entire second ending spanner.

How might I adjust the Y-offset of the second ending volta
spanner while leaving the first ending volta Y-offset unchanged?

The height of the spanner doesn't appear to be responsive to 'Y-offset.  It will move if you override 'padding, but this ordinarily will affect both pieces of the spanner (first and second endings) unless you use a function on the model of
 http://www.lilypond.org/doc/v2.15/Documentation/extending/difficult-tweaks

Try this:

\version "2.15.37"

#(define (my-callback arg)
  (lambda (grob)
    (let* ((orig (ly:grob-original grob))
           (siblings (if (ly:grob? orig)
                         (ly:spanner-broken-into orig) '() )))
      (if (and (>= (length siblings) 2)
               (eq? (car (last-pair siblings)) grob))
          arg))))
          
\relative c'' {
  \override Score.VoltaBracketSpanner #'padding = #(my-callback 3)
  \repeat volta 2 {
  \repeat unfold 6 { c4 d e f | } }
  \alternative {
    { c2 e | }
    { f2 g | f g | }
  }
}

\layout {
  ragged-right = ##t
}

You can change the number in the override to apply a different value to the padding affecting the second ending.

Hope this helps!

-David


reply via email to

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