lilypond-user
[Top][All Lists]
Advanced

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

Re: Rest Collision Bug


From: David Raleigh Arnold
Subject: Re: Rest Collision Bug
Date: Mon, 24 Jan 2005 18:11:56 -0500
User-agent: KMail/1.7.1

On Monday 24 January 2005 07:23 am, Erik Sandberg wrote:
> On Sunday 23 January 2005 03.16, David Raleigh Arnold wrote:

> So is your proposed fix, in other words, that shiftOn should apply to
> colliding rests also? so in your exemple the e4\rest should be
> shifted a few mm to the right?

No.  Shifting to the right would make it worse.  I can't think
of any reason for shifting a rest to the right, ever.

Such a rest is *always* moved to the left, never to the right.  If in
this .ly file it is moved to the right, it will still be seen to
belong to the lowest voice instead of the middle voice, and the
measure still won't make sense.  

Four voices on one stave, no problem, right?:

_____
|
o top voice
r middle voice
r 2nd middle voice
o bottom voice
|
=========

Four voices on one stave with the top and bottom note heads too close
together for rests to fit between.  It doesn't matter how many stems
there are:
    ________________________________________________  
   |                   --continuing:                o top voice 
r  |  -middle voice  
  o|  -top voice                      o middle voice
 |o   -bottom voice                         o 2nd middle voice
r|    -2nd middle voice 
 |                                        o bottom voice
 ===========================================

That's the way it's always been done, and if you look at alternatives
you can see that it's the only way it can ever be done.

To implement, and fix the bug, all you need to do is shift a rest to
the left too far to be directly over or under a notehead if and only
if:

1. The rest has a pitch assigned to it.
2. *And* it collides with a note or lies next to a stem.

The user has to know how this is supposed to look, so the user has to
pitch the rest of the inside voice rest accordingly.  The rest has to
be before a stem, not a note head, so there is often a choice which
stem.

It shouldn't matter whether there is \shiftOn or \shiftOff, since the
middle rest if shifted is necessarily always leftmost.  Here's another
possibility, a unison:

    ________________________________________________  
   |                   --continuing:                o top voice 
r  |  -middle voice  
 |o|  -top voice -bottom voice                      o middle voice
r|    -2nd middle voice               o 2nd middle voice
 |                                        o bottom voice
 ===========================================


What more do you need to add to handle rest collision?  You've already
done the hard part.  Now *please* do the easy part.  daveA

-- 
The only technical exercises for guitar which are worthy of the
instrument consist in "Dynamic Guitar Technique".  I promise miracles.
Get it at:  http://www.openguitar.com/dynamic.html    
daveA         David Raleigh Arnold          dra..at..openguitar.com








reply via email to

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