lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Manual barlines


From: Pierre Perol-Schneider
Subject: Re: Manual barlines
Date: Mon, 1 Jul 2013 15:28:00 +0200

2013/7/1 Andrew Bernard <address@hidden>
To make clearer what I am asking in relation to manually drawing barlines, attached is a snippet mocked up in inkscape of what I need to do.


Dear Andrew,
Well this is certainly not the Scheme code you were looking for but, at least, it achieves your snippet...

\version "2.17.20"

%#(set-default-paper-size "a4" 'landscape)
#(set-global-staff-size 16)

myTimeSig =
#(define-music-function (parser location num denom)
  (string? string?)
  #{
    \override Staff.TimeSignature.text = 
    \markup {
      \abs-fontsize #13 \override #'(baseline-skip . 1)
      \center-column {
        \line { #num }
        \line { #denom } 
      } 
    }
  #})
  
timeSignatures = 
   \override Staff.TimeSignature.font-family = #'typewriter
   \override Staff.TimeSignature.font-shape = #'italic
   \override Staff.TimeSignature.stencil = #ly:text-interface::print
   \myTimeSig "3" "4"
   \time 1/4
   s4
   \repeat unfold 3 s4
   \once\override Staff.BarLine.transparent = ##f
   \myTimeSig "16" "4"
   \time 1/4
   s4
   \repeat unfold 2 s4 
}

SkipedMesForMidFile =
{
  \tag #'Scor { s4 } 
  \tag #'Mid { } 
}

MelodyOne =
{
   \override Staff.BarLine.transparent = ##t
   \clef F
   \time 1/4
   \SkipedMesForMidFile
   \repeat unfold 3 s4
   \once\override Staff.BarLine.transparent = ##f
   \time 1/4
   \SkipedMesForMidFile
   \repeat unfold 2 s4
}

MelodyTwo =
{
   \override Staff.BarLine.transparent = ##t
   \clef F
   \time 1/4
   \SkipedMesForMidFile
   \stemUp
   \override TupletBracket.bracket-visibility = ##t
   \repeat unfold 3 { 
      \once\override TupletNumber.text = #tuplet-number::calc-fraction-text
      \tuplet 7/8 { des!32 [des! des! des! des! des! des! ] } 
   }
   \once\override Staff.BarLine.transparent = ##f
   \once\override Score.BarLine.hair-thickness = #4.0
   \time 1/4
   \tupletDown
   \SkipedMesForMidFile
   \tuplet 7/8 { des!32 a,! g! f! des! aes! f,! }
   \tuplet 7/8 { ees!32 b! g,! des!-\parenthesize^> a,! a! f! }
}

\score {
  <<
    \new TimeSig \timeSignatures
    \new StaffGroup 
       \with { \override StaffGrouper.staff-staff-spacing.basic-distance = #15 }
       <<
         \new Staff \keepWithTag #'Scor \MelodyOne
         \new Staff \keepWithTag #'Scor \MelodyTwo
       >>
  >>
  \layout {
     %ragged-right = ##f
     indent = 0
     \context {
       \type "Engraver_group"
       \consists "Time_signature_engraver"
       \consists "Axis_group_engraver"
       \name "TimeSig"
       \alias "Staff"
       \override TimeSignature.break-align-symbol = ##f
       %%%%%%%%%%%%%%% here's a week point : %%%%%%%%%%%%%%%%%%
       \override TimeSignature.extra-offset = #'(2 . -17)
       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       \override TimeSignature.after-line-breaking = #shift-right-at-line-begin
     }
     \context {
       \Score
       \accepts TimeSig
     }
     \context { 
       \StaffGroup
       \override SystemStartBracket.extra-offset = #'(1 . 0)
       \override SystemStartBracket.style = #'bar-line
       \override SystemStartBracket.thickness = #4 
     }
     \context {
       \Staff
       \remove "Time_signature_engraver"
     }
  }
}

\score { 
   << 
   \new StaffGroup 
       <<
         \new Staff \keepWithTag #'Mid \MelodyOne
         \new Staff \keepWithTag #'Mid \MelodyTwo
       >>
  >>
  \midi { }
}

Hope that helps.
Cheers,
Pierre.

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]