lilypond-user
[Top][All Lists]
Advanced

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

Re: DurationLine avoiding RehearsalMarks


From: Thomas Morley
Subject: Re: DurationLine avoiding RehearsalMarks
Date: Wed, 13 Apr 2022 17:03:07 +0200

Am Di., 12. Apr. 2022 um 11:54 Uhr schrieb Jean Abou Samra <jean@abou-samra.fr>:
> Le 12/04/2022 à 11:16, Thomas Morley a écrit :
[...]
> > In many details DurationLine was tailored after Glissando and
> > Glissando _is_ effected by the breathing sign.
[...]

> Well, if the goal is to have DurationLine similar to Glissando,
> how about reusing line-spanner-interface code? I haven't reviewed
> the code very thoroughly, but I assumed there was a difference
> warranting a different code path. If you put
> ly:line-spanner::calc-{left,right}-bound-info in
> DurationLine.{left,righ}-bound-info, that gives you X values for free
> in the bound info properties. Would that solve the problem?

If I go for ly:line-spanner::calc-{left,right}-bound-info then

\layout {
   \context {
     \Voice
     \consists Duration_line_engraver
   }
}

{ b1\- }

errors with
    "programming error: extremal broken spanner's bound has no parent
vertical axis group"
More complex examples may add:
    "programming error: bound item has no parent vertical axis group"
Both coming from `ly:line-spanner::calc-right-bound-info' based upon
`Line_spanner::calc_bound_info' in /lily/line-spanner.cc

As a mere user I'd say: "Nice error-message, but why should I care...?"

As a programmer, I doubt the example above can be made working with
ly:line-spanner::calc-right-bound-info.
At least, I don't know how.

> If there is a reason to keep DurationLine calculations separate, you
> could go for using ly:generic-bound-extent. The line-spanner-interface
> uses its C++ equivalent internally.

Didn't try this so far.
But the description:
"Function: ly:generic-bound-extent grob common
Determine the extent of grob relative to common along the x axis,
finding its extent as a bound when it a has bound-alignment-interfaces
property list set and otherwise the full extent."
is kryptic to say the least.

Thanks,
  Harm



reply via email to

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