lilypond-devel
[Top][All Lists]
Advanced

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

Rest Collision


From: David Raleigh Arnold
Subject: Rest Collision
Date: Fri, 07 Dec 2001 07:20:07 -0600 (CST)
User-agent: IMP/PHP IMAP webmail program 2.2.5

I cannot begin to tell you how disappointed I was to finish this simple 
two part arrangement, which does considerable violence to Haendel but 
is made very easy for beginners, to find that the augmentation dots are 
not down when \stemDowm is in effect. What possible reason could there 
be not to have the dots down? If there is only one part, there is no 
reason to set it anyway, so it is \stemBoth and the dots are always up. 

 The last two versions in the Debian distribution, 1.4.2 and 1.4.9, 
both have the dots broken. Even the simplest music in two parts on one 
staff cannot be done correctly with either version.
 
Before doing this I tried something more ambitious in three parts, and 
it came to grief in the 8th bar. You have written some interesing 
collision code, and the example in the manual is impressive, but you 
make no provision for the likelihood that there will be a rest in the 
mix. It matters what part a rest occurs in. You provide vertical 
adjustment to move rests away from places where they should not be at 
all, and then it is not possible to make horizontal adjustments so that 
the rest can be in the right voice and still fit.
 
When you have music in three parts on one staff and there is a rest in 
the middle part, that rest *must* stay in the middle no matter what. If 
there is insufficient room between the top and bass parts, the rest 
must be before or after the other notes, not inserted into the bass or 
top part. This is merely an example. A rest is always in a part, and its
 vertical position must reflect that. 

 It is a good thing that lilypond encourages the writing of polyphony in 
lines rather than verticals. You have to consider rests as parts of 
voices, because they *are*. Refusal to account for this results in
Lilypond throwing them at the page instead  of placing them in the
desired voice.
 
So while in reality rests do not have pitch, they nevertheless have
 relative vertical position on the staff. Unfortunately, this is not
 necessarily relative to stem direction. The easiest and most rational
 way to fix this is  to give the rests pitches in the syntax, so that
 users can understand it and rests can participate in the horizontal
 adjustments of the collision code.
 
You can simply give rests a default pitch, so no one without a problem
 has to think about it. I find it very frustrating that you seem to
 have everything that you  need in place, but nevertheless
 fail to support 3 parts on one staff because of rests.
  
------------------------------------------------------------
 Information is not knowledge.           Belief is not truth.
 Indoctrination is not teaching.   Tradition is not evidence.
          David Raleigh Arnold   address@hidden
 

Attachment: JoytoWorld.ly
Description: Binary data


reply via email to

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