lilypond-user
[Top][All Lists]
Advanced

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

Re: OttavaBracket right endpoint?


From: Trevor Bača
Subject: Re: OttavaBracket right endpoint?
Date: Wed, 11 Oct 2017 15:14:35 -0500



On Sat, Oct 7, 2017 at 12:07 PM, David Nalesnik <address@hidden> wrote:
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...

Hi David,

Believe it or not, this is actually extremely helpful: your explanation is crystal clear; and knowing now that there's no (programmatic) way to accomplish the alignment, I'm content to leave the output as-is.

(Sometimes I suppose what I'm after is knowing whether I'm missing something available in the system or not.)

Thank you!

Trevor.



--

reply via email to

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