#if markup en fonction

Bonjours,
je suis toujours aussi pas bon en scheme
cette commande/fonction :

Marche

bon = ##t
test= #(if bon
           #{ \markup "bon"#}
           #{ \markup "mauvais"#}
           )

{  c'-\test }

Et là en fonction marche pas mais pourquoiiiiii ?




#(define-markup-command (Test layout props arg)(boolean?)
   #(if  arg
         #{ \markup "bon" #}
         #{ \markup "mauvais" #}
         ))

{  c'-\Test ##t }

Merci de vos lumières

D'abord, une commande markup doit s'utiliser dans un markup. Ensuite, il y a un # en trop devant le (if. On est déjà en mode Scheme ici, vu que le #(define-markup-command introduit une expression Scheme, donc le #( est interprété par Scheme, ce qui donne une vecteur littéral, qui n'est pas du tout ce que tu voulais. De plus, une fonction pour markup ne renvoie pas un markup mais un stencil.

\version "2.24.2"

#(define-markup-command (Test layout props arg) (boolean?)
   (interpret-markup
    layout
    props
    (if arg
        #{ \markup "bon" #}
        #{ \markup "mauvais" #})))

{  c'-\markup \Test ##t }

ha merci beaucoup

j'avais bien testé ça sans layout pfff !!!

 (interpret-markup
      props

Bonjour
je me suis compliqué la vie alors que c'était bien simple pour faire un barré ou demi barré

% full-Barred ##f or half-Barred ##t  
startBb = #(define-event-function (txt1 arg)(markup? boolean?)
             #{
               \tweak bound-details.left.text \markup\normal-text\concat{
                 #(if arg
                      #{ \markup\combine "B" \translate #'(0.18 . 0.20) "|"  #}
                      #{ \markup "B" #}
                      )
                 \tiny $txt1
               }
               \tweak dash-period 0.8
               \tweak style #'line %comment for dashed-line
               \tweak bound-details.left.stencil-align-dir-y #0
               \tweak bound-details.left-broken.text ##f
               \tweak bound-details.left-broken.attach-dir -1
               \tweak bound-details.left-broken.padding 1.5
               \tweak bound-details.right.padding -1.5 %pos x vertical line
               \tweak bound-details.right.attach-dir 2
               \tweak bound-details.right-broken.text ##f
               \tweak bound-details.right.text
               \markup
               \with-dimensions #'(0 . 0) #'(-.3 . 0)
               \draw-line #'(0 . -1)
               \startTextSpan
             #})


\relative c' {
  g8\startBb "III" ##f c g' bes \stopTextSpan a4 g4
  c8\startBb "V" ##t e8 a fis \stopTextSpan e4 d4
}

Bon lilypond