bug-lilypond
[Top][All Lists]
Advanced

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

Re: voice-warning


From: Erik Sandberg
Subject: Re: voice-warning
Date: Mon, 7 Jun 2004 00:35:40 +0200
User-agent: KMail/1.6.2

On Sunday 06 June 2004 23.58, Han-Wen Nienhuys wrote:
> address@hidden writes:
> > Throwing warnings can (and should?) be seen as a sign that you have done
> > something "the wrong way", i.e. that you are recommended to do it some
> > other way. But I think I've done my music the way that should be
> > recommended.. at least I have found no good alternatives. So in that
> > case, there should IMHO be no warning.
>
> I think that the potential for misspelling the context name in
> \lyricsto is a much larger risk, and it is unacceptable that in such a
> case lyrics disappear into the void without warning.  If you have a
> practical solution how to handle this better, let me know.

Yes, I have an alternative solution:
The risk is minimal, that you would misspell the context name to a voice name 
that already exists somewhere. So I would say that if you have written
\lyricsto foo blah
then you should get a warning if there is no note in the current context(?) 
which belongs to a voice called foo.

So this would give a warning
<<
\context Voice=foo { c c c c } 
\lyricsto Foo blah
>>

but this wouldn't:
<<
\context Voice=foo { c c \context Voice=bar c c } 
\lyricsto bar blah
>>

In the second example, there _are_ notes to couple "blah" with, so there was 
most likely no misspelling.


I suppose that you could generalise the rule to the following: A warning 
should be issued once for each lyricsto, if lilypond fails to couple each 
syllable to a note. (this would also cover the quite common problem where an 
error makes you end up having more syllables than notes)

Does this sound sensible?

Erik

ps. A secondary question is this: How should lilypond interpret the following 
code? Should 'blah' be coupled with the c:s or the d:s, or both?
<<
\new Staff \context Voice=foo { c c c c } 
\new Staff \context Voice=foo { d d d d } 
\lyricsto foo blah
>>




reply via email to

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