Hi Harm,
On Sun, Apr 29, 2012 at 5:55 PM, Thomas Morley <
[email protected]> wrote:
> Hi,
>
> in 2.14.2 I used a function to manipulate the BarNumber-stencil. It
> calls the value of the BarNumber as a string, via (ly:grob-property
> grob 'text).
>
> This doesn't work no longer with the latest devel-versions. (Due to
> the changes in Issue 2059 ?)
>
> (ly:grob-property grob 'text) now returns, e.g. (#<procedure
> line-markup (layout props args)> ("2"))
>
> How to do with 2.15.36?
>
> Below a simplified example.
>
> \version "2.14.2"
>
> \relative c'' {
>
> \override Score.BarNumber #'break-visibility = #'#(#f #t #t)
> \override Score.BarNumber #'stencil =
> #(lambda (grob)
> (let* ((stil (ly:text-interface::print grob))
> (text (ly:grob-property grob 'text))
> (nmbr (string->number text)))
> (if (= (remainder nmbr 5) 0)
> (ly:grob-set-property! grob 'color red)
> (ly:grob-set-property! grob 'color black))
> stil))
>
> \repeat unfold 41 { c1 }
> }
>
Lucky guess, but replacing text in your definition of nmbr with the
following gets me a red number every five bars with 2.15.37:
(markup->string text)
-David
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user