lilypond-devel
[Top][All Lists]
Advanced

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

Re: Fixing issue 800 (extender ending early if other voices present)


From: Joe Neeman
Subject: Re: Fixing issue 800 (extender ending early if other voices present)
Date: Wed, 11 Nov 2009 11:38:05 -0800

On Wed, 2009-11-11 at 10:33 -0500, Chris Snyder wrote:
> I've done some work towards fixing issue 800, and at least now 
> understand what's happening:
> 
> The patch that introduced the bug added a check in 
> Extender_engraver::stop_translation_timestep() to check if the current 
> voice was in the middle of a melisma (calling melisma_busy(voice) ) and, 
> if not, completizing the extender. This fixed the neverending-extender 
> bug, but introduced issue 800.
> 
> The reason that this is happening is not simply because there's another 
> voice, but specifically because of the rhythm in the second voice: 
> Extender_engraver::stop_translation_timestep() is called after the 
> second beat in the measure, while the first voice is in the middle of 
> the dotted quarter-note. At this point, melisma_busy() returns false - 
> it apparently doesn't know how to handle being in the middle of a note.
> 
> It seems to me that there are two possible ways to address this:
> 
> 1) Change melisma_busy() to return true if in the middle of a note
> 2) Alternatively, add the check in 
> Extender_engraver::stop_translation_timestep instead

I'm confused: isn't the current check in
Extender_engraver::stop_translation_timestep?






reply via email to

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