Hi Harm,

On Sun, Apr 29, 2012 at 5:55 PM, Thomas Morley <
thomasmorle...@googlemail.com> 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
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to