Re: 'to-barline' doesn't stop glissando from crossing the barline.

[email protected] Mon, 27 Jul 2026 18:14:08 +0000
Newsgroups gmane.comp.gnu.lilypond.general
Message-ID <20260727181408.Horde.EpZxp4NlegQd4G9aMd8ZNMc@webmail.infopower.nl>
Quoting Thomas Morley <[email protected]>:

> Am So., 26. Juli 2026 um 23:16 Uhr schrieb <[email protected]>:
>>
>>
>> Quoting Thomas Morley <[email protected]>:
>>
>> > Am So., 26. Juli 2026 um 21:45 Uhr schrieb <[email protected]>:
>> >>
>> >> Another problem (I know I can tackle it with a cadanza) that I think
>> >> should have worked but didn't -- probably due to my lack of knowledge
>> >> of lilypond -- is the following bar:
>> >>
>> >> \version "2.24.1"
>> >>
>> >> \new TabStaff \fixed c {
>> >>    \tabFullNotation
>> >>    \slurUp < f'-4\2 >8[ < f'-4\2 >16 ( < d'-1\2 >16 )]
>> >>    < c'-3\3 >8[  < d'-1\2 >8] (
>> >>    \once \override TabNoteHead.transparent = ##t
>> >>    < d'\3 >8 )
>> >>    \once \override Glissando.bound-details.to-barline = ##t
>> >>    < f'-4\2 >4. \glissando
>> >>    \hideNotes
>> >>      \grace < d'-4\3 >32
>> >>    \unHideNotes
>> >> }
>> >>
>> >>
>> >> I know, the \grace note extends into the next bar, but the directive
>> >> to stop before the barline seems quite
>> >> clear to me. Any hints again? (I'm starting to feel quite silly now...)
>> >>
>> >> harry
>> >>
>> >>
>> >>
>> >
>> > The property 'to-barline is a stand-alone property, not a sub-property
>> > of 'bound-details.
>> >
>> > Alas, if you use it correctly it crashes.
>> > You discovered a very long standing, so far undetected bug.
>> > I just wrote a bug-report:
>> > https://gitlab.com/lilypond/lilypond/-/work_items/6951
>> >
>> > If you really need it you can do (as MWE):
>> > \new TabStaff
>> > {
>> >    \once \override Glissando.to-barline = ##t
>> >    \once \override Glissando.extra-dy = #-0.75
>> >    \once \override Glissando.bound-details.right.Y = 3.75
>> >    g'1 \glissando
>> >    f'
>> > }
>> >
>> > Or probably something like below (your example):
>> > \new TabStaff \fixed c {
>> >    \tabFullNotation
>> >    \slurUp < f'-4\2 >8[ < f'-4\2 >16 ( < d'-1\2 >16 )]
>> >    < c'-3\3 >8[  < d'-1\2 >8] (
>> >    \once \override TabNoteHead.transparent = ##t
>> >    < d'\3 >8 )
>> >    <<
>> >         < f'-4\2 >4.\glissando
>> >         {
>> >              s4 s16.
>> >              \once \omit Flag
>> >              \once \override TabNoteHead.stencil = #point-stencil
>> >              \once \omit Stem
>> >              < d'-4\3 >32
>> >         }
>> >    >>
>> > }
>> >
>> > Cheers,
>> >   Harm
>>
>> Thanks Harm,
>> does it still make sense to file bug reports for 2.24? Or does it
>> occur in 2.26 too.
>
> It is still present in 2.27.2. Follow the provided link...
>
>> Anyway, that 'stand-alone property'... I must admit that I barely know
>> what I'm doing, so a lot comes down to trial and error. I tried
>> Glissando.to-barline and that didn't work. So I reasoned that as it
>> has to with a right boundary, maybe it would work with bound-details
>> included.
>>
>> Your first work-around requires tweaking every time, the second one
>> with the 'empty' voice seems more elegant to me, so that's what I'm
>> going to try.
>
> I'd recommend the first.
> extra-dy will always be 0.75 or -0.75
> You'll need to find the needed value for
> Glissando.bound-details.right.Y by try and error, though.
> You may want to create a function for it:
>
> glissToBar =
> #(define-event-function (dir y-off mus)(ly:dir? number? ly:music?)
> #{
>   \tweak to-barline ##t
>   \tweak extra-dy #(* dir 0.75)
>   \tweak bound-details.right.Y #y-off
>   $mus
> #})
>
> \new TabStaff
> {
>    g'1\glissToBar #DOWN #3.75 \glissando f'
>    f'-\glissToBar #UP #3.75 \glissando g'
>    c'-\glissToBar #UP #2.25 \glissando d'
> }
>
> You may differ, though ;)
>
> Cheers,
>   Harm

Oh, ok, it doesn't have to reach the barline though, as long as it  
stops before it.

Thanks,
harry