2012/11/26 Nick Payne <[email protected]>: > On 24/11/12 13:34, Keith OHara wrote: >> >> barre = #(define-music-function (parser location >> strg music) (number? ly:music?) >> #{ >> \set TabStaff.minimumFret = $strg >> \set TabStaff.restrainOpenStrings = ##t >> \once\override TextSpanner #'(bound-details left text) >> = #(format #f "B ~@r" strg) >> %{ ... Nick's other style settings ...%} >> <>\startTextSpan >> $music >> <>\stopTextSpan >> \unset TabStaff.minimumFret >> \unset TabStaff.restrainOpenStrings >> #}) > > > I was testing this barre function without the tabstaff stuff for use with > scores in standard notation, and added a few extra TextSpanner settings to > get the output that I want. One problem that I can't fathom is that if I add > \override TextSpanner.bound-details.right-broken.text = ##f, so that the > small vertical line at the RH end of the spanner is not drawn at the end of > a staff when the barre wraps to the following staff, then the line also > doesn't get drawn if the barre ends at the right hand end of a staff, > without being broken. Why is lilypond thinking that the TextSpanner is > breaking across staves when it isn't? In the example below, the end of the > second TextSpanner is missing the vertical line unless the override of > TextSpanner.bound-details.right-broken.text = ##f is commented out. > > \version "2.17.6" > > % Function contributed by Thomas Morley: > % http://lsr.dsi.unimi.it/LSR/Item?id=857 > > barre = > #(define-music-function (parser location strg music)(number? ly:music?) > #{ > % \set TabStaff.minimumFret = $strg > % \set TabStaff.restrainOpenStrings = ##t > \once\override TextSpanner.bound-details.left.text = #(format #f "~@r" > strg) > \once\override TextSpanner.font-shape = #'upright > \once\override TextSpanner.bound-details.left.stencil-align-dir-y = > #CENTER > \once\override TextSpanner.style = #'line > \once\override TextSpanner.bound-details.right.text = \markup \draw-line > #'(0 . -1) > \once\override TextSpanner.to-barline = ##t > \once\override TextSpanner.bound-details.right.padding = #1.5 > \once\override TextSpanner.bound-details.right-broken.padding = #0.5 > \once\override TextSpanner.bound-details.left-broken.padding = #2 > \once\override TextSpanner.bound-details.left-broken.text = ##f > \once\override TextSpanner.bound-details.right-broken.text = ##f > <>\startTextSpan > $music > <>\stopTextSpan > % \unset TabStaff.minimumFret > % \unset TabStaff.restrainOpenStrings > #}) > > \relative c'' { > \key c \major > \barre3 { \repeat unfold 48 { d4 } } > \barre3 { \repeat unfold 20 { d4 } } > \break > \repeat unfold 20 { d4 } > > }
Hi Nick, after some private discussion with Federico it turns out, that \articulate can't deal with <> Wrong false barchecks are returned. I'd recommend to use s*0 instead. I raised a bug-report about it. Best, Harm _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
