On Fri, Oct 2, 2015 at 12:09 PM, David Nalesnik <david.nales...@gmail.com> wrote:
> David, > > On Fri, Oct 2, 2015 at 11:26 AM, David Kastrup <d...@gnu.org> wrote: > >> David Nalesnik <david.nales...@gmail.com> writes: >> >> > Hi all, >> > >> > I'm experimenting with a way to support multiple text spanners in a >> single >> > voice, using the 'spanner-id property which already enables multiple >> slurs >> > and phrasing slurs. >> > >> > The attached code works--until the spanners cross a line break. Then >> the >> > order of the spanners is reversed. I've experimented with different >> start >> > and end points of the spanners, reversing lists within the engraver--no >> > change. >> > >> > The second example shows that tweaks can mess up this reversed ordering >> > even further. >> > >> > Does anyone know what is happening here? I really have no idea :( >> >> Sounds like room-saving stacking of elements with equal >> outside-staff-priority (?). Perhaps distribute ascending priorities? > > > Horizontal_bracket_engraver achieves correct ordering of nested brackets through the side-position-interface array 'side-position-elements. Brackets closer to the staff are added to the support of brackets further away. However, this only works because 'outside-staff-priority is set to #f by default. As soon as you set it to a numerical value, chaos ensues: the initial ordering is flipped AND the brackets flip orientation across line breaks. (See attached images.) Try this code: \version "2.19.27" \new Staff { \override HorizontalBracket.direction = #UP \override HorizontalBracket.thickness = 4 c -\tweak color #red \startGroup -\tweak color #green \startGroup d -\tweak color #blue \startGroup e f \break c d e f c\stopGroup d\stopGroup e d\stopGroup \bar "||" \override HorizontalBracket.outside-staff-priority = 100 c -\tweak color #red \startGroup -\tweak color #green \startGroup d -\tweak color #blue \startGroup e f \break c d e f } \layout { \context { \Voice \consists #"Horizontal_bracket_engraver" } } %%%%%%%%%%%%% This must be a bug... BTW, correct ordering is achieved with the TextSpanner code if the same approach is taken: any spanner in force is added to the 'side-support-elements of a new spanner. Again, this works only if 'outside-staff-priority is set to #f. DN
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user