[Top][All Lists]
[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
JoytoWorld.ly
Description: Binary data
- Rest Collision,
David Raleigh Arnold <=