Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Lilypond: Customize bar lines, recursively, automatically?

I'm working on Carnatic music scores that involve complex time signatures, that will require modified bar lines

Pattern for barlines for: 8/4

beats: 1 2 3 4  (dashed bar here) 5, 6 (Dotted Bar) 7, 8 (double bar)  

Here's one bar of actual score

g16( f) d8 ees( ees) d16( c d8) bes16[( d c bes    \bar "dashed"
a g]) a[( bes c] d[ c d])   \bar ":"   
g8( f16) ees8( d16 c d)     \bar "||"

Is there a way to automate these barlines?

like image 436
Ananth Pattabiraman Avatar asked Oct 25 '25 11:10

Ananth Pattabiraman


1 Answers

Give this a try. It's not fully automated in that you need to have an "invisible" voice allocated to specify the barlines, and you need to keep track of how many measures this form of barring needs to extend and specify an appropriate unfold value. The "s", if you don't already know, is an invisible spacer, with duration like a rest.

\version "2.13.19"

fooBar = { s1 \bar "dashed" s2 \bar ":" s2 \bar "||" }

\new Staff <<
  \new Voice = "theMusic" \relative c'' {
    % bar 1
    g16( f) d8 ees( ees) d16( c d8) bes16[( d c bes 
    a g]) a[( bes c] d[ c d]) 
    g8( f16) ees8( d16 c d) 
    % bar 2
    g16( f) d8 ees( ees) d16( c d8) bes16[( d c bes 
    a g]) a[( bes c] d[ c d]) 
    g8( f16) ees8( d16 c d)
  }
  \new Voice = "theBarLines" { \repeat unfold 2 \fooBar }
>>
like image 173
Owen S. Avatar answered Oct 28 '25 03:10

Owen S.