On Jun 28, 2011, at 12:07 PM, Brian Lenth wrote:

> Hello everybody,
> 
> I'm attempting to create a score that uses simultaneous multiple tempi, at a 
> ratio of 5:7. As a test, I made this (see code below). Basically it uses the 
> ridiculous time signature of 42/4, with barlines inserted to create an 
> artificial independent meter for each staff. It looks beautiful, but the 
> problem is: put in shorter note values than these dotted quarters (sixteenths 
> etc) and there isn't enough room on the line to render the music; it all just 
> runs off the page, in other words, it doesn't want to break the line in 
> mid-bar (as I'm using ridiculously long measures to simulate polytempi). I've 
> read everything the Notation Reference has to offer about forcing line 
> breaks. But for some reason it doesn't let me break the line during active 
> note events (removing Forbid_line_break_engraver only seems to work across 
> "actual" automatic barlines, not ones I've put in). Does anybody have any 
> advice here? Is there a way to get more control over breaking my lines? Or 
> better yet, is there a way to do these kinds of polytempi without using 
> 8497/8 time?
> 
> Thanks,
> brian
> 
> 
> PartA = \new Voice \relative c'' {
>   \clef treble
>   \time 42/4
>   \set Staff.instrumentName = #"Part A "
>   \set Staff.timeSignatureFraction = #'(12 . 8)
>   \scaleDurations #'(7 . 5) {
>     c4.^\markup { \note #"4." #1 " = 60" } c c c \bar "|"
>     c c c c \bar "|"
>     c c c c \bar "|"
>     c c c c \bar "|"
>     c c c c
>   }
> }
> PartB = \new Voice \with {
>   \remove Forbid_line_break_engraver
>   } \relative c'' {
>   \clef treble
>   \set Staff.instrumentName = #"Part B "
>   \time 42/4
>   \set Staff.timeSignatureFraction = #'(12 . 8)
>   \override Beam #'breakable = ##t
>  
>   g4.^\markup { \note #"4." #1 " = 84" } g g g \bar "|"
>   g g g g \bar "|"
>   g g g g \bar "|"
>   g g g g \bar "|"
>   g g g g \bar "|"
>   g g g g \bar "|"
>   g g g g
> }
> \score {
>   <<
>     \new Staff \PartA
>     \new Staff \PartB
>   >>
> }
> \layout {
>   \context {
>     \Score
>     \remove "Timing_translator"
>     \remove "Default_bar_line_engraver"
>   }
>   \context {
>     \Staff
>     \consists "Timing_translator"
>     \consists "Default_bar_line_engraver"
>   }
>   \context {
>     \Voice
>     \remove "Forbid_line_break_engraver"
>   }
> }

You'd have to fiddle with the length of the material in the variable `bars', 
but this sorta thing does the trick :

bars = {\repeat unfold 150 { s8 \bar "" } }
PartA = \new Voice \relative c'' {
  \clef treble
  \time 42/4
  \set Staff.instrumentName = #"Part A "
  \set Staff.timeSignatureFraction = #'(12 . 8)
  \scaleDurations #'(7 . 5) {
    c4.^\markup { \note #"4." #1 " = 60" } \repeat unfold 6 { c8 } \repeat 
unfold 6 { c8 } \repeat unfold 6 { c8 } \bar "|"
    \repeat unfold 6 { c8 } \repeat unfold 6 { c8 } \repeat unfold 6 { c8 } 
\repeat unfold 6 { c8 } \bar "|"
    \repeat unfold 6 { c8 } \repeat unfold 6 { c8 } \repeat unfold 6 { c8 } 
\repeat unfold 6 { c8 } \bar "|"
    \repeat unfold 6 { c8 } \repeat unfold 6 { c8 } \repeat unfold 6 { c8 } 
\repeat unfold 6 { c8 } \bar "|"
    \repeat unfold 6 { c8 } \repeat unfold 6 { c8 } \repeat unfold 6 { c8 } c4.
  }
}
PartB = \new Voice \with {
  \remove Forbid_line_break_engraver
  } \relative c'' {
  \clef treble
  \set Staff.instrumentName = #"Part B "
  \time 42/4
  \set Staff.timeSignatureFraction = #'(12 . 8)
  \override Beam #'breakable = ##t
 
  g4.^\markup { \note #"4." #1 " = 84" } \repeat unfold 6 { g8 } \repeat unfold 
6 { g8 } \repeat unfold 6 { g8 } \bar "|"
  \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } 
\repeat unfold 6 { g8 } \bar "|"
  \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } 
\repeat unfold 6 { g8 } \bar "|"
  \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } 
\repeat unfold 6 { g8 } \bar "|"
  \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } 
\repeat unfold 6 { g8 } \bar "|"
  \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } 
\repeat unfold 6 { g8 } \bar "|"
  \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } \repeat unfold 6 { g8 } g4.
}
\score {
  <<
    \new Staff << \PartA \bars >>
    \new Staff \PartB
  >>
}
\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
  }
  \context {
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
  \context {
    \Voice
    \remove "Forbid_line_break_engraver"
  }
}

Cheers,
MS

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to