[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: surviving-staff.ly
From: |
Han-Wen Nienhuys |
Subject: |
Re: surviving-staff.ly |
Date: |
Mon, 31 May 2004 15:18:15 +0200 |
address@hidden writes:
> On Monday 31 May 2004 12.55, Han-Wen Nienhuys wrote:
> > \header { texidoc =
> > "The upper staff is extended with an empty bar.
> >
> > The score is weird in the sense that the Lyrics context is
> > created within a Staff context. But if this is not allowed, then
> > it should give either a warning or an error."
> > }
> >
> > I don't consider this a bug. It's allowed, and the result is what you
> > see here.
>
> OK, but I don't understand then why this extra bar should be added. Should it
> really be?
The problem is that the lyrics aren't really finished yet: the end of
a syllable/note is also counted as a moment to be processed. This only
happens when the sequential iterator (of \lyrics { }) progresses one
step further.
We could change the former, counting only note starts, but that is a
major change in the functionality, which I fear will change a lot of
existing behavior. It's not justified by this "bug".
> And if it should be added, why isn't it added if you remove the
> second staff?
Because of the way \lyricsto works. The iterator for \lyricsto never
determines when interpreting should stop. This is always done by the
Contexts accompanying it:
* New_lyric_combine_music_iterator::ok () always returns true when
there are still lyrics (as in this case)
* New_lyric_combine_music_iterator::pending_moment() is not
considered, for determining the next step to do. Without the 2nd
staff, the next step to be processed is +inf, and hence interpreting
stops.
I agree that this is rather hairy, but then again, putting lyrics to
melodies is a strange concept within the music-expression formalism
anyway.
--
Han-Wen Nienhuys | address@hidden | http://www.xs4all.nl/~hanwen