> [EMAIL PROTECTED] said:
> > One more question about lyrics: In an example like < Staff = melody
> > \notes { c c c c8 c } Lyrics = text \lyrics { bla bla bla bla } > the
> > syllabes will have duration 1/8, whereas I would expect the default
> > duration 1/4 without having to specify that. Is this intended
> > behavour? 
>

Just a view ideas:

Perhaps an additional reference may be useful for convenience:

MyMelody  = \notes { c c c c8 c }
Lyrics = text \lyrics(MyMelody) { bla bla bla bla bla }

or, if we do not want to change lilypond's general syntax:

Lyrics = text \lyrics \take_rhythm_from MyMelody = { bla bla bla bla bla }


Of course, this only works if there is exactly one note per syllable
(no melisma). To allow melismas, the following syntax may perhaps be
appropriate:

Lyrics = text \lyrics \take_rhythm_from MyMelody { bla _ bla _ _ }

(or maybe with a different special character instead of the "_" to avoid
syntax collision, if necessary), where the first "bla" covers the first
2 notes, and the second "bla" the next 3 notes, so that this construct
would be equivalent to:

Lyrics = text \ lyrics { bla2 bla2 }

(of course, supposing that the above \notes definition implicitly starts
with quarter notes). If the user defines \take_rhythm_from *and* afterwards
explicitly defines note durations, lily may ignore the explicit durations
and print out a warning that durations are already implicitly known.
\take_rhythm_from may not uniquely be specified in \melodic \multi
constructs and should be forbidden in such cases.

Anyway, I am not sure, if the running status of note duration *across*
\notes and/or \lyrics definitions is useful. The scope of a property that
is defined within brackets {} should not yield beyond the closing "}".
Even if note duration is not implemented as an (implicit) property
(or is it?), from my perspective as a user it looks like a property.
Hence, after a closing "}", note duration should be reset to the value
that it had before the matching opening "{", just like push/pop on a stack.
What do you think?

If I remember right, similar problems apply (or at least once upon a time
applied) to the octave information. I remember, once I was very confused
when the pitch of a voice changed its octave just by moving the definition
of that voice to a different location in the file. This probably would not
have happened, if the scope of octave information was handled as described
above.

Keeping this is mind, the correct use of the \take_rhythm_from property
as suggested above should rather look like the following:

Lyrics = text \lyrics =
         { \take_rhythm_from MyMelody bla _ bla _ _ }



> The simple rule is that Lilypond always uses that latest duration
> that has occured. This mechanism doesn't know about different voices 
> or contexts. I think it makes sence, since any other rule would have 
> to be more complex, also for the user to remember.
>
>   /Mats

I think, the mechanisms described above are not too complex and
too difficult to remember, are they? What do you think?

Just a few ideas, perhaps thus helping to make a great piece of software
still a little bit better...

Bye,
     Juergen

Reply via email to