Dear Aaron, I found a solution. : trick the "hideEveryOtherBarLine" mechanism so it believes the bar number where the extra "|." bar is located is odd.
%%%%%%%% a2. | b2 \fermata _"Fine" \set Score.currentBarNumber = #55 \bar "|." r4 \set Score.currentBarNumber = #55 | a2 b4 | %%%%%% Without the double change of bar numbers the "|." bar is made transparent by \hideEveryOtherBarLine . Thanks a lot again :-) Philippe Le dim. 28 mars 2021 à 01:54, Philippe ZELLER <peli...@gmail.com> a écrit : > Dear Aaron, > this is brilliant ! I'm impressed as I would never have been able to write > code like this myself. > Plus : your solution is compatible with multiMeasureRests. > > Yet another challenge for you though :-) : > In the middle of the piece there is a \bar "|." occurring after the second > beat, and when using your custom engraver this barline becomes invisible. > How can I make it visible again ? > > Best regards, > Philippe > > Le sam. 27 mars 2021 à 21:52, Aaron Hill <lilyp...@hillvisions.com> a > écrit : > >> On 2021-03-27 1:04 pm, Philippe ZELLER wrote: >> > Dear lilypond fellow users, >> > it sometimes occurs in barock music that only every other barline is >> > visible, (see e.g. Haendel's Salomo, choir at the end of Act II ) or >> > that >> > every other barline is printed in reduced size.(see e.g. Bach Mass in >> > H-moll, nr 27 "dona nobis pacem" ). >> > Is there a way to get this result in lilypond ? >> > >> > I first tried >> > \set Score.barLineVisibility = #(every-nth-bar-number-visible 2) >> > that I made up after an equivalent syntax for barNumber, but to no >> > avail. >> > Maybe I didn't put it in the right context ? >> > >> > Finally I used a rather complicated procedure based on >> > global = { >> > \repeat unfold 24 { s2. \once \override Staff.BarLine.transparent >> > = >> > ##t s2. \once \override Staff.BarLine.transparent = ##f } >> > } >> > which works but is not fully compatible, for example it does not work >> > with >> > multiMeasureRests. >> > >> > Many thanks in advance for your suggestions ! >> >> An engraver should be able to do the work: >> >> %%%% >> \version "2.22.0" >> >> hideEveryOtherBarLine = >> #(lambda (ctx) >> (define (bar-num) >> (ly:context-property ctx 'currentBarNumber)) >> (make-engraver >> (acknowledgers >> ((bar-line-interface trans grob source) >> (if (= 0 (modulo (bar-num) 2)) >> (ly:grob-set-property! grob 'transparent #t)))))) >> >> \new Staff >> \with { \consists \hideEveryOtherBarLine } >> \repeat unfold 10 { b'1 } >> %%%% >> >> >> -- Aaron Hill > >