> Looking at script-column.cc, the behavior appears to be to first
> sort all scripts in a column according to their script-priority.
> Once items are ordered by script-priority, they are then reordered
> according to outside-staff-priority.  When two items share the same
> priority, the latter one is incremented.  (script-priority is
> incremented by 1, and outside-staff-priority is incremented by 0.1
> instead.)
> 
> When an item has no outside-staff-priority, it inherits the value of
> the item before it in the column.  And importantly, "before" is
> determined by the ordering after sorting by script-priority.  If
> there is no such item, then its value is left unset.  As such, my
> snippet above fails because an unset priority always sorts to the
> beginning of the list.

Thanks for the excellent description of the algorithm.  In case it is
not documented yet, this text should be added.

> One solution is to explicitly define a suitable default
> outside-staff-priority for Fingerings.  This would prevent any unset
> values from skewing the sorting.

Yes.  Is there any adverse effect of doing that?

> Alternately, you could opt to \tweak the outside-staff-priority of
> the Fingering instead, noting the default for TextScripts is 450.
> However, it feels a little backwards having to \tweak a different
> object to the one you are trying to position.

Exactly.


    Werner

_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to