lilypond-user
[Top][All Lists]
Advanced

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

Re: How to make different horizontal spacing for each staff?


From: Valentin Villenave
Subject: Re: How to make different horizontal spacing for each staff?
Date: Thu, 13 Sep 2007 08:18:02 +0200

2007/9/13, Vít Reichel <address@hidden>:

> thanks for your reply but this is not what I want. I need in general 2
> independently spaced staves in a system that have a common barline at the end 
> of
> every system. I know this is technically not clean but for this modern piece 
> it
> would be the best possible solution.

Mats: there's got to be a simpler way, but I can't get the barline to
prin otherwise. Would you mind correcting my snippet, so I can add it
to the LSR?

Hi Vit,
Mats was actually right; however you have to mix the second and the
third examples in Polymetric Notation. Besides, you have to treat each
system as a separate entity, i.e. each system has its own
\compressMusic block.

You have to know, for each system, the amount of durations? Say you have
==> four 3/4 measures on a staff = 12 quarter notes
==> on the other: one 5/8 measure, one 2/2, one 6/8 and one 4/4 => 27
eight notes.
So you have to multiply the second staff by 24/27 (which is equivalent
to 8/9) to get the same duration than on the first staff.

The measurePosition takes two arguments, which here basically
correspond to your time signature.
Maybe a Scheme function could set both the TimeSignatureFraction *and*
the measurePosition *and* the correct automatic barlines ; but every
time I try, I still have to enter each \bar manually. Can't understand
why.
Anyway, I just tried to make it simple.

Regards,
V.Villenave

\layout {
  \context { \Score
     \remove "Timing_translator"
     \remove "Default_bar_line_engraver"
  }
  \context {
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
}

<<
  \new Staff {
    \compressMusic #'( 8 . 9 ) {
      \time 5/8
      \set Timing.measurePosition = #(ly:make-moment 5 8)
    b8 b b b b \bar "|"
      \time 2/2
      \set Timing.measurePosition = #(ly:make-moment 2 2)
    b2 b \bar "|"
      \time 6/8
      \set Timing.measurePosition = #(ly:make-moment 6 8)
    b4. b8 b b \bar "|"
      \time 4/4
      \set Timing.measurePosition = #(ly:make-moment 4 4)
    b4 b b b \bar "|"
      }
    }
  \new Staff {
    \clef bass
    \time 3/4
    c2. d e f  }
>>




reply via email to

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