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 > >