Hello Jean,

Many thanks for the help -- that works beautifully. It seems besides global
settings, I will need to have some per-score settings.

It appears controlling slurs are more complicated than I thought. Per your
advice, will play with the \vshape feature in 2.23 if I need anything more
custom.


Many thanks,
mattfong

On Wed, Mar 9, 2022 at 3:28 PM Jean Abou Samra <j...@abou-samra.fr> wrote:

> Le 09/03/2022 à 17:13, Matthew Fong a écrit :
> > Dear Jean and LilyPond friends,
> >
> > My apologies for not initially including this, and it took time to get
> > this reduction; At the same time, producing this example code raised
> > additional observations about how the slur overrides work with other
> > variables, which I can use some insight about. Thank you all in advance!
> >
> > Please note in the code, I have marked these observations by a comment
> > starting with: % [Interaction: ... ]. Commenting out noted lines out
> > one at a time changes the Slur override behavior, and it seems rather
> > unexpected.
> >
> > File is attached (/_reduction.ly <http://reduction.ly>/), containing
> > all the functions and the quilismaPathGreciliae PostScript path.
> >
> > *Observations for Slur above first note group without quilisma*
> > 1/ Changing the staff size has an effect on Slur overrides (Slur too
> > close to notes)
> >
> > 2/ Altering the LyricHyphen.minimum-distance has an effect on Slur
> > overrides (Slur too close to notes)
> >
> > 3/ Changing the lyrics has an effect on Slur overrides (Slur too close
> > to notes)
> >
> > 4/ Interaction between Slur override settings
> >     a/ The desired result (nicer slur)
> >     \override Slur.height-limit = #2.5
> >     \override Slur.details.free-head-distance = #1
> >     b/ Increasing Slur.height-limit results in Slur *too close* to notes
> >     \override Slur.height-limit = #3
> >     \override Slur.details.free-head-distance = #1
> >     c/ Increasing Slur.details.free-head-distance gives the desired
> > result, similar to (a)
> >     \override Slur.height-limit = #3
> >     \override Slur.details.free-head-distance = #1.5
> >
> > 5/ Finally, there is the original question about why the Slur above
> > the first note group *with the quilisma* remains unaffected by any
> > Slur overrides
> >
> > *Graphical explanation*
> > /Desired result [image]
> > /
> > Slur too close [image]
> >
> >
> > Many thanks,
> > Matt
>
>
> Thanks for the examples. This seems to work better:
>
>          \override Slur.height-limit = 10000
>          \override Slur.details.head-slur-distance-factor = 10000
>
> Honestly, I can't explain why. Slur formatting is a very involved
> process. All these parameters only have an indirect influence on
> the slur appearance. They factor into demerits ("ugliness scores")
> that LilyPond computes for a bunch of possible slurs, to pick the
> best one. That's why you are observing all-or-nothing effects: since
> there is a staff line and LilyPond thinks the slur would be ugly
> if it came too close, depending on the specific values of the parameters,
> it will choose one way or the other, to make the slur cross the staff
> line or to make it stay below it. Also, when you change horizontal
> spacing and such, this modifies the set of configurations that
> LilyPond tests in the first place. This is all quite tricky, and
> designed to yield the best results possible using heuristics at
> the expense of not being very straightforward to tweak. Being no
> expert of the particular code, I can't tell you the details of this
> art. If you require specific slur shapes, it is best to use \shape
> to refine the control points precisely. (In 2.23, you also get
> \vshape which provides a visual aid in this process.)
>
> Best,
> Jean
>
>

Reply via email to