lilypond-user
[Top][All Lists]
Advanced

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

Re: uniform-stretching


From: Trevor Bača
Subject: Re: uniform-stretching
Date: Tue, 5 Dec 2006 08:30:09 -0600

On 12/5/06, Orm Finnendahl <address@hidden> wrote:
Hi Trevor,

The mailserver of my ISP was down for 14 hours, sorry for the late
response. Thanks a lot for all your time and effort! The last example
you sent works pretty well here now except for the first measure
(4/4). It takes about the same amount of space as the following 3/8
measure.

Replacing that line with "\time 4/4 r4 r4 r4 r4" instead of the r1
will stretch out the measure but that shouldn't be necessary, right?

Does that have something to do with it being the initial measure?

Hi Orm,

I'm not sure why the first 4/4 measure is short, even with all the
settings in the last mail. I've attached an example at the end that
maybe Han-Wen can take one last look at; perhaps there remains one
final setting for your music.

(As an observational aside, there seems to be a special class of
wildly difficult off-by-one difficulties in music notation. Take the
example of needing to \override PaperColumn #'used = ##t which we
discovered yesterday incrementally getting your example to work. On
the face of it, it seems utterly bizarre that some "abstract grob"
setting like PaperColumn should be necessary to make measure-initial
skips obey proportional spacing. But when I was thinking about
Han-Wen's explanation of uniform-stretching it all suddenly made
sense: uniform-stretching makes distances *AFTER* musical events
uniform; and what happens at the beginning of a measure? No musical
event, so nothing to make uniform. Makes sense, but wow. Anyway, I've
noticed that some of the most complex things in Lily's input happen
right at the *beginnings* of measures, lines, or parts, and so this
one remaining longish measure in 4/4 at least fits that pattern.)

Testing your hunch the r4 r4 r4 r4 will space differently (and
correctly) than r1, we see that you're right. And we also discover one
last very odd thing.

Here's a comparison between r4 r4 r4 r4 and r1 with your original music:

%%% BEGIN EXAMPLE 1 %%%

\version "2.10.0"

\layout {
  ragged-right = ##t
}

\score {
 \new Staff \with {
    \remove Separating_line_group_engraver
 } {
     \relative c' {
         \override Score.SpacingSpanner #'uniform-stretching = ##t
         \set Score.proportionalNotationDuration = #(ly:make-moment 8 50)
          \override Score.PaperColumn #'used = ##t
         \time 4/4 r1 % BUG? Measure is way too short, apparently
because of following music
          \time 3/8 r4.
         \time 5/4 r1 r4
         \time 5/16 r4 r16
         \time 5/8 s2 s8
         \time 5/8 r2 r8
     }
 }
}

\score {
 \new Staff \with {
    \remove Separating_line_group_engraver
 } {
     \relative c' {
         \override Score.SpacingSpanner #'uniform-stretching = ##t
         \set Score.proportionalNotationDuration = #(ly:make-moment 8 50)
          \override Score.PaperColumn #'used = ##t
         \time 4/4 r4 r4 r4 r4 % This measure's length is OK
          \time 3/8 r4.
         \time 5/4 r1 r4
         \time 5/16 r4 r16
         \time 5/8 s2 s8
         \time 5/8 r2 r8
     }
 }
}

%%% END EXAMPLE 1 %%%


The first measure in 4/4 in the first score is too short, as we've
observed. But look what happens when we make a minimal example by
simply deleting all measures after the first; the "bug" vanishes:

%%% BEGIN EXAMPLE 2 %%%

\version "2.10.0"

\layout {
  ragged-right = ##t
}

\score {
 \new Staff \with {
    \remove Separating_line_group_engraver
 } {
     \relative c' {
         \override Score.SpacingSpanner #'uniform-stretching = ##t
         \set Score.proportionalNotationDuration = #(ly:make-moment 8 50)
          \override Score.PaperColumn #'used = ##t
         \time 4/4 r1 % Bug has vanished! Perhaps because no following music
     }
 }
}

\score {
 \new Staff \with {
    \remove Separating_line_group_engraver
 } {
     \relative c' {
         \override Score.SpacingSpanner #'uniform-stretching = ##t
         \set Score.proportionalNotationDuration = #(ly:make-moment 8 50)
          \override Score.PaperColumn #'used = ##t
         \time 4/4 r4 r4 r4 r4
     }
 }
}

%%% END EXAMPLE 2 %%%

These two one-measure scores are *exactly* the same length (see attachment.)

So what's going on here? Why does more music on the line in example 1
score 1 cause Lily to scrunch up the very first measure??


--
Trevor Bača
address@hidden

Attachment: even-initial-measures.png
Description: PNG image


reply via email to

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