[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug: lyrics set to Devnull ignore implicit melismata
From: |
Sietse Brouwer |
Subject: |
Bug: lyrics set to Devnull ignore implicit melismata |
Date: |
Sat, 13 Jan 2007 00:40:48 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Dear Lilyists,
Lyrics are linked to a set of notes using \lyricsto. Normally, e.g. when
linking to a Voice context, implicit melismata such as slurs, ties, and
explicit beams are automagically detected. The next syllable begins after the
melisma ends.
However: If you link lyrics to a Devnull context, any melismata in the notes
are ignored and each syllable is linked to one note, melisma or no.
Users can work around this problem by explicitly declaring the melismata with
\melisma and \melismaEnd.
A little background: In practice, you link lyrics to a Devnull if you want to
let the lyrics follow a different rythm than the text. The Devnull allows the
text to be linked to the notes it contains, but it produces no output. It's
very convenient. This trick is explicitly explained in the manual, in section
7.3.7.5 "Lyrics independent of notes"; anybody trying it on music with
melismata will run into this bug.
The example file below contains an example of the bug for each of the three
implicit melismata: ties, slurs, and manual beams. It also contains an example
of the workaround.
Hope this helps!
Sietse
Sietse Brouwer
P.S.: when you try to compile this file, you'll notice a plethora of warnings
of the type "warning: Lyric syllable does not have note. Use \lyricsto or
associatedVoice." I'm filing a seperate bug report for that.
* * *
Using Windows XP, Lilypond 2.10.11
\version "2.10.11"
% Bug-demonstration: if you link lyrics to a Devnull context,
% the implicit melismata get ignored. That is, melismata
% indicated by a slur or manual beaming.
% A user-end workaround is defining the melismata explicitly.
\layout { ragged-right = ##t }
musicTie = {
c'4 g'4~ g'4 c'4
}
% musicSlur will demonstrate that slur-melismata are not detected.
musicSlur = {
c'4 d'4( e'4) f'4
}
% musicBeam will demonstrate that manual-beam-melismata are not
% detected.
musicBeam = {
c'4 d'8[ e'8] f'4
}
% musicWorkaround will demonstrate the workaround. I kid you not.
musicWorkaround = {
c'4
d'4( \melisma e'4) \melismaEnd
f'4
}
\score {
<<
\new Staff = staffTie <<
% The notes. The lyrics should align to these.
\musicTie
\new Devnull = "invisibleTie" \musicTie
\new Lyrics \lyricsto "invisibleTie"
\lyricmode {
Ape nut mice
}
>>
\new Staff = staffSlur <<
% The notes. The lyrics should align to these.
\musicSlur
\new Devnull = "invisibleSlur" \musicSlur
\new Lyrics \lyricsto "invisibleSlur"
\lyricmode {
Whim suss yet
}
>>
\new Staff = staffBeam <<
% This example shows that 'manual beam melismata' are not
% detected, either.
\autoBeamOff
\musicBeam
\new Devnull = "invisibleBeam" \musicBeam
\new Lyrics \lyricsto "invisibleBeam"
\lyricmode {
Tin four geese
}
>>
\new Staff <<
\musicWorkaround
\new Devnull = "invisibleWorkaround" \musicWorkaround
\new Lyrics \lyricsto "invisibleWorkaround"
\lyricmode {
Loam case book
}
>>
>>
}
- Bug: lyrics set to Devnull ignore implicit melismata,
Sietse Brouwer <=