Hi,

I'd like the left text of red text spanners to be set to "foo", and to set
the left text of all other text spanners to "bar".

But I misunderstand how to return markup:

%%% BEGIN %%%

\version "2.25.3"

% no left text set
{
  \once \override TextSpanner.bound-details.left.text =
    #(lambda (grob) (if (equal? red (ly:grob-property grob 'color)) "foo"
"bar"))
  c'1
  - \tweak color #red
  \startTextSpan
  c'1
  \stopTextSpan
}

% no left text set
{
  \once \override TextSpanner.bound-details.left.text =
    #(lambda (grob) (if (equal? red (ly:grob-property grob 'color))
      (markup "foo")
      (markup "bar")))
  c'1
  - \tweak color #red
  \startTextSpan
  c'1
  \stopTextSpan
}

%%% END %%%

What's the right way to return markup from a Scheme function?

Trevor.

-- 
Trevor Bača
www.trevorbaca.com
soundcloud.com/trevorbaca

Reply via email to