lilypond-devel
[Top][All Lists]
Advanced

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

Re: How to detect SpanBar from inside a make-bar-line definition?


From: Thomas Morley
Subject: Re: How to detect SpanBar from inside a make-bar-line definition?
Date: Sat, 16 Mar 2024 14:59:58 +0100

Am Do., 14. März 2024 um 02:31 Uhr schrieb Dan Eble
<nine.fierce.ballads@gmail.com>:
>
> On 2024-03-13 20:09, Thomas Morley wrote:
> > I don't understand what you propose.
>
> My advice was general software-design advice based on a hasty
> consideration of your post, so I'm not really surprised.
>
> > To give a different example, let's look at make-dotted-bar-line (afaik
> > it's your code).
> > There you have a `making-span-bar?'-condition, obviously you want a
> > span bar a little different than bar line.
>
> Yes, I remember that there were cases where the dashes didn't meet well,
> but I don't remember the details.
>
> > a) If I implement (pretty-print grob) there, I always get BarLine,
> > never something else, regardless where I place that.
>
> In that case, I think you will need to pass more information into the
> function from above or find a heuristic that works better.
>
> > c) the condition itself may fail, see
> > /input/regression/non-centered-bar-lines.ly for an example, or try to
> > set bar-extent to an interval not crossing zero.
>
> That's why the comments call it a heuristic.
>
> > Because of b) I tried to patch make-dotted-bar-line, alas I found no
> > condition to apply the patched functionality to span bars only.
> >
> > Thus I ask if there is such a condition at all. Or how it could be coded.
>
> I'm not sure, and I have to be very motivated to read Scheme, which I am
> not at the moment.  Sorry.
> --
> Dan

I now tried for weeks to find a better heuristic or condition. To no avail.

Then I introduced a new grob-property, 'is-span-bar and have set it in
`span-bar::compound-bar-line'.
Now regtests are always failing with ununderstandable messages:
programming error: Grob `VoltaBracket' has no interface for property
`is-span-bar'
programming error: Grob `System' has no interface for property `in-note-padding'
I neither tackled VoltaBracket nor System...

Nevertheless I uploaded the branch (maybe someone wants to have a look):
https://gitlab.com/lilypond/lilypond/-/merge_requests/2274
Not surprisingly the pipeline fails, with completely other messages, though.

Currently I think I'll give up on improving dashed/dotted span bar.
Uploading soon a patch only adjusting for other staff-spaces.

Thanks,
  Harm



reply via email to

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