2004-01-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * input/regression/*.ly: use newaddlyrics iso. addlyrics
+
+ * input/regression/lyrics-multi-stanza.ly (texidoc): remove file.
+
+ * lily/lyric-extender.cc (brew_molecule): behave decently in case
+ of line breaks.
+ (brew_molecule): add padding to left, not right.
+
* lily/system.cc (uniquify_list): new function
- (output_lines): uniquify_list () on all-elements
+ (output_lines): uniquify_list () on all-elements. This fixes
+ double symbols in the output.
* lily/beam.cc (rest_collision_callback): don't move anything if
staff-position is set.
\header {
texidoc ="Polyphonic rhythms and rests don't disturb
-@code{\addlyrics}."
+@code{\newaddlyrics}."
}
\clef violin
\time 8/8
\key des \major
- << \context Voice = one {
- \voiceOne
- \addlyrics
- \notes {
- bes'4 bes'4
- bes'4 bes'4
- }
- \context Lyrics \lyrics
- {
- Do __ mi __ nus ex
- }
- }
- \context Voice = two {
- \voiceTwo
- \addlyrics
- \notes {
- ees'8 r8 r8 r8 ees' r8 r8 r8
- }
- \context Lyrics \lyrics
- {
- Do __ na
+ <<
+ \context Voice = one {
+ \voiceOne
+ bes'4 bes'4
+ bes'4 bes'4
+ }
+ \context Voice = two {
+ \voiceTwo
+ ees'8 r8 r8 r8 ees' r8 r8 r8
}
+ \newaddlyrics "two" \lyrics \new LyricsVoice {
+ Do na
}
+ \lyrics \newaddlyrics "one" \new LyricsVoice
+ {
+ Do mi nus ex
+ }
>>
}
\paper { raggedright = ##t}
--- /dev/null
+\version "2.1.7"
+\header{
+ texidoc =
+
+ "Extenders that end a staff should not extend past the staff."
+
+}
+
+sopran = \notes \relative c'' {
+\time 3/4 a2.( | \break
+ g2) g4
+}
+
+text = \lyrics {
+Aaaaa __ aaaaaah
+}
+
+\score {
+<<
+
+ \context Voice = "foo" \sopran
+ \context LyricsVoice \newaddlyrics foo \text
+>>
+\paper { linewidth = 5.0\cm
+}
+}
+
+\version "2.1.9"
\header {
texidoc = "Lyric phrasing:
\score{
-\context Staff {
- \addlyrics
- \notes \relative c' \context Voice = "bla" {
- \autoBeamOff
- c4( c16 d c b) c4
- d16[ e f g]
-
- }
- \lyrics \context LyricsVoice = "bla-1" {
- al tijd
- izzz
- }
-
- }
-
-\paper { raggedright = ##t
-
- \translator {
- \VoiceContext
-
- }
- }
+<< \notes \relative c' \context Voice = "bla" {
+ \autoBeamOff
+ c4( c16 d c b) c4
+ d16[ e f g]
+
+ }
+ \lyrics \newaddlyrics "bla" \context LyricsVoice {
+ al tijd
+ izzz
+ } >>
+
+ \paper { raggedright = ##t }
}
-
a a a8 ( a) a4
}
\context Lyrics <<
- \context LyricsVoice = "v-1" \lyrics {
+ \new LyricsVoice \newaddlyrics "v" \lyrics {
\property LyricsVoice . stanza = "1:"
Start sentence melisma end.
}
- \context LyricsVoice = "v-2" \lyrics {
+ \new LyricsVoice \newaddlyrics "v" \lyrics {
\property LyricsVoice . stanza = "2:"
x x x __ x.
}
+++ /dev/null
-#(ly:set-option 'old-relative)
-\version "2.1.7"
-\header{
- texidoc =
-
- "Extenders that end a staff should not extend past the staff.
-Also shown: a trick to get an extender at the end of the staff.
-"
-
-}
-
-sopran = \notes \relative c'' {
-\time 3/4 a2.( | \break
- g2) << g4 { s8 s8 } >> |
-}
-
-text = \lyrics {
-vielt __ Zeit. __ " "
-}
-
-\score {
-<<
-\addlyrics
- \context Staff \sopran
- \context Lyrics \text
->>
-\paper { linewidth = 5.0\cm
-}
-}
-
-
\version "2.1.7"
\header
{
\score {
- \simultaneous {
- \addlyrics
- \new Staff
- \notes \relative c'' {
- \property Staff.autoBeaming = ##f
- c8 c8[ c8 c8] c8 }
-
- \context Lyrics \lyrics { bla bla bla }
- }
- \paper { raggedright = ##t }
+ <<
+ \new Staff
+ \notes \relative c'' {
+ \property Staff.autoBeaming = ##f
+ c8 c8[ c8 c8] c8 }
+
+ \newaddlyrics "" \new LyricsVoice \lyrics { bla bla bla }
+ >>
+ \paper { raggedright = ##t }
}
+++ /dev/null
-
-\version "2.1.7"
-\header {
-
-texidoc = "Lyrics syllables are aligned according to
- punctuation. Stanza and stz set stanza numbers. "
-
-}
-
-
-\score {
-\addlyrics
- \notes \relative c'' \context Voice = duet { \time 3/4 g2 e4 a2 f4 g2. }
- \lyrics \context Lyrics <<
- \context LyricsVoice = "duet-1" {
- \property LyricsVoice . stanza = "Bert"
- Hi, my name is bert. }
- \context LyricsVoice = "duet-2" {
- \property LyricsVoice . stanza = "Ernie"
- Ooooo, ch\'e -- ri, je t'aime. }
- >>
- \paper { raggedright = ##t}
-}
-
-
Link_array<Grob> heads (Pointer_group_interface__extract_grobs (me, (Grob*)0,
"heads"));
- if (!heads.size ())
+ if (!heads.size () && r->break_status_dir () == CENTER)
return SCM_EOL;
common = common_refpoint_of_array (heads, common, X_AXIS);
else
left_point = heads[0]->extent (common, X_AXIS)[LEFT];
-
if (isinf (left_point))
return SCM_EOL;
-
/*
It seems that short extenders are even lengthened to go past the note head, but
haven't found a pattern in it yet. --hwn 1/1/04
*/
-
SCM minlen = me->get_grob_property ("minimum-length");
Real right_point
= left_point + (gh_number_p (minlen) ? gh_scm2double (minlen) : 0.0);
- right_point = right_point >? heads.top ()->extent (common, X_AXIS)[RIGHT];
-
+ if (r->break_status_dir ())
+ right_point = infinity_f;
+ else
+ right_point = right_point >? heads.top ()->extent (common, X_AXIS)[RIGHT];
+
Real h = sl * gh_scm2double (me->get_grob_property ("thickness"));
Real pad = 2* h;
right_point = right_point <? (r->extent (common, X_AXIS)[LEFT] - pad);
return SCM_EOL;
- right_point += pad;
+ left_point += pad;
Real w = right_point - left_point;