Guitar half-Barred or full-Barred

Guitar bar chords with condition, full-Barred ##f, half-Barred ##t,

\version "2.24.0"

%Bar chord (barred) condition full-Barred ##f,
%modify translate #'(0.18 . 0.20)  for adjust vertical line in the B barred

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
             #})

%syntax: note (or chord)\startBb"fret_number" ##t (or ##f) note(s) \stopTextSpan
\relative c' {
  g8\startBb "III" ##f c g' bes \stopTextSpan a4 g4
  c8\startBb "V" ##t e8 a fis \stopTextSpan e4 d4
}