lilypond-user
[Top][All Lists]
Advanced

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

Re: Wildly different horizontal spacing in two similar scores.


From: Richard Shann
Subject: Re: Wildly different horizontal spacing in two similar scores.
Date: Fri, 18 Mar 2022 16:39:35 +0000
User-agent: Evolution 3.38.3-1

On Fri, 2022-03-18 at 12:27 +0000, Richard Shann wrote:
> On Fri, 2022-03-18 at 12:11 +0100, Valentin Petzel wrote:
> > Let’s take a look at what’s happening here:
> > 
> > if we add
> > \override Score.SpacingSpanner.common-shortest-duration =
> > #(grob-transformer 'common-shortest-duration
> >                    (lambda (grob orig) (display orig) (newline)
> > orig))
> 
> Many thanks - it sounds like it will worth experimenting with setting
> common-shortest-duration manually to common-up the appearamce of the
> parts. Would some syntax along the lines 
> 
> \override Score.SpacingSpanner.common-shortest-duration = #(make-
> moement '(1 . 8))
> 
> do this? (I'm doubtful because I didn't see an example in the manual
> -
> rather the statement
> "There is no convenient mechanism to manually override spacing. "
> at 
> https://lilypond.org/doc/v2.22/Documentation/notation/horizontal-spacing-overview
> )

To answer my own question (I looked further down in the docs quoted)

\override Score.SpacingSpanner.common-shortest-duration = #(ly:make-
moment 1/8)

does the needed tweak.

I wonder what "There is no convenient mechanism to manually override
spacing. " means ...

Richard


> 
> Richard
> > 
> > at the beginning we will have the value of common-shortest duration
> > ouput. For 
> > 1-1 this is 1/32, for 1-4 this is 1/8. To understand why this is
> > happening you 
> > need to understand how Lilypond calculates the common-shortest
> > duration. 
> > Basically Lilypond takes the smallest duration for each measure,
> > and
> > then 
> > counts for each one how many measures have it as smallest duration.
> > Then 
> > Lilypond simply finds the duration with the highest count and
> > returns
> > the 
> > minimum of that one and base-shortest duration.
> > 
> > Now this algorithm is kind of unstable. In your case you have many
> > measures 
> > with 1/8th notes as shortest duration and many measures with 1/32nd
> > notes as 
> > shortest duration. So if you have slightly more measures of the
> > first
> > type you 
> > will get the dense result, if you have slightly more of the second
> > type you 
> > get the wide result.
> > 
> > So in some sense this is "working as intended", it is just that the
> > algorithm 
> > for common-shortest-duration is probably not optimal. It might be
> > better to 
> > take some sort of weighted average, which would be much more stable
> > in such 
> > situations. I’ll do some experimenting for this.
> > 
> > Cheers,
> > Valentin
> > 
> > Am Freitag, 18. März 2022, 10:39:10 CET schrieb Richard Shann:
> > > Attached are two scores which have quite similar music in them
> > > but
> > > LilyPond typesets one them with about twice as much horizontal
> > > space as
> > > the other.
> > > The documentation gives an overview of the algorithm for
> > > horizontal
> > > spacing but eyeballing this music I can't see any shortest-note
> > > differences that could trigger this.
> > > Any idea what might be going on?
> > > 
> > > Richard Shann
> > 
> 
> 
> 





reply via email to

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