lilypond-user
[Top][All Lists]
Advanced

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

Re: OttavaBracket right endpoint?


From: David Nalesnik
Subject: Re: OttavaBracket right endpoint?
Date: Sat, 7 Oct 2017 12:07:36 -0500

On Wed, Oct 4, 2017 at 6:54 PM, Trevor Bača <address@hidden> wrote:
> Hi,
>
> I’m interested in making the right endpoints of ottava brackets and trill
> spanners coincide.
>
> QUESTION: in ottava-1.png (attached) I like where the trill spanner ends; is
> there a way to tell the ottava bracket to end at the same point?

No nice way.

The problem you see is due to different spanner bounds for
TrillSpanner and OttavaBracket.
TrillSpanner extends to the NoteColumn of the following note,
OttavaBracket only to the final note of the ottavation.

You can see this by running the following (stem color shows the
difference in endpoints):

\version "2.19.65"

\new Staff {
  \override Staff.OttavaBracket.after-line-breaking =
  #(lambda (grob)
     (set! (ly:grob-property
            (ly:grob-object (ly:spanner-bound grob RIGHT) 'stem)
            'color)
           green))
  \ottava #1
  \override TrillSpanner.after-line-breaking =
  #(lambda (grob)
     (set! (ly:grob-property
            (ly:grob-object (ly:spanner-bound grob RIGHT) 'stem)
            'color)
           red))
  c''4 \startTrillSpan
  d''
  e''
  f''
  \ottava #0
  %\break
  c'4 \stopTrillSpan
  d'
  e'
  f'
}

A proper solution would lie in the OttavaBracket engraver. (And who
knows what other changes you would need elsewhere to accommodate the
new right-bound.)

>
> OttavaBracket seems not to implement the to-barline property (in the
> spanner-interface):

In my understanding, 'to-barline is used to stop a spanner before it
would ordinarily stop, not lengthen it.  This could be implemented if
the OttavaBracket 'columns array included the following, non-ottavated
NoteColumn.

> There’s also a (promising-sounding) connect-to-neighbor property in the
> horizontal-bracket-interface. But I can’t figure out how to override
> property, or whether OttavaBracket implements the property at all:

This is not what you think. It's used to determine whether to draw an
end-piece of a bracket (that is, with a terminal hatch mark) or an
interior piece (just a line).  Perhaps the property should be more
clearly named.

Sorry I can't give you good news...

David



reply via email to

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