strange side effects seen.
* lily/line-spanner.cc (dashed_line_molecule): return nothing if
dash-period < 0.
2004-01-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/system.cc (output_lines): revert uniquify_list() patch,
+ strange side effects seen.
+
+ * lily/line-spanner.cc (dashed_line_molecule): return nothing if
+ dash-period < 0.
+
* scm/midi.scm (instrument-equalizer-alist): fix equalizer setting
for flute.
PACKAGE_NAME=LilyPond
MAJOR_VERSION=2
MINOR_VERSION=1
-PATCH_LEVEL=9
-MY_PATCH_LEVEL=hwn1
+PATCH_LEVEL=10
+MY_PATCH_LEVEL=
\version "2.1.7"
-
-\header {
- texidoc = "Popsong format: chords, melody and lyrics."
+\header
+{
+ texidoc = "Popsong format: chords, melody and lyrics."
}
-melody = \notes \relative c' {
- a b c d
+melody = \notes \relative c'
+{
+ a b c d
}
text = \lyrics {
- Aaa Bee Cee Dee
+ Aaa Bee Cee Dee
}
accompaniment = \chords {
- a2 c2
+ a2 c2
}
\score {
<<
\context ChordNames \accompaniment
- \addlyrics
- \context Staff = one {
- \autoBeamOff
+ \context Voice = one {
+ \autoBeamOff
\melody
- }
- \context Lyrics \text
+ }
+ \newaddlyrics "one" \new LyricsVoice \text
>>
\paper { }
\midi { }
\score {
<<
- \addlyrics
- \context Staff = one {
- \property Staff.autoBeaming = ##f
- \melody
+ \context Voice = one {
+ \property Staff.autoBeaming = ##f
+ \melody
}
- \context Lyrics \text
+ \newaddlyrics \new Lyrics \text
>>
\paper { }
\midi { }
\score {
\context GrandStaff <<
- \addlyrics
- \context Staff = upper \upper
- \context Lyrics \text
+ \context Staff = upper {
+ \context Voice = singer \upper
+ }
+ \newaddlyrics "singer" \new LyricsVoice \text
\context Staff = lower <<
\clef bass
\lower
\score {
<<
- \addlyrics
- \context Staff = mel {
- \autoBeamOff
- \melody
+ \context Voice = mel {
+ \autoBeamOff
+ \melody
}
- \context Lyrics \text
+ \newaddlyrics mel \new LyricsVoice \text
- \context PianoStaff <<
- \context Staff = upper \upper
- \context Staff = lower <<
- \clef bass
- \lower
+ \context PianoStaff <<
+ \context Staff = upper \upper
+ \context Staff = lower <<
+ \clef bass
+ \lower
+ >>
>>
- >>
>>
\paper {
- \translator { \RemoveEmptyStaffContext }
+ \translator { \RemoveEmptyStaffContext }
}
\midi { }
}
\score { \notes
\context StaffGroup <<
- \context Lyrics = sopLyrs { s1 }
- \context Staff = women { s1 }
- \context Lyrics = altoLyrs { s1 }
- \context Lyrics = tenorLyrs { s1 }
- \context Staff = men {\clef bass s1 }
- \context Lyrics = bassLyrs { s1 }
- \addlyrics
- \context Staff = women \context Voice = VA { \voiceOne \sopMusic }
- \context Lyrics = sopLyrs { \sopWords}
- \addlyrics
- \context Staff = women \context Voice = VB { \voiceTwo \altoMusic }
- \context Lyrics = altoLyrs { \altoWords}
- \addlyrics
- \context Staff = men \context Voice = VA { \voiceOne \tenorMusic }
- \context Lyrics = tenorLyrs { \tenorWords}
- \addlyrics
- \context Staff = men \context Voice = VB { \voiceTwo \bassMusic }
- \context Lyrics = bassLyrs { \bassWords}
+ \context LyricsVoice = sopranos { s1 }
+ \context Staff = women <<
+ \context Voice = sopranos { \voiceOne \sopMusic }
+ \context Voice = altos { \voiceTwo \altoMusic }
+ >>
+ \context LyricsVoice = altos { s1 }
+ \context LyricsVoice = tenors { s1 }
+ \context Staff = men <<
+ \clef bass
+ \context Voice = tenors { \voiceOne \tenorMusic }
+ \context Voice = basses { \voiceTwo \bassMusic }
+ >>
+ \context LyricsVoice = basses { s1 }
+
+
+ \context LyricsVoice = sopranos \newaddlyrics sopranos \sopWords
+ \context LyricsVoice = altos \newaddlyrics altos \altoWords
+ \context LyricsVoice = tenors \newaddlyrics tenors \tenorWords
+ \context LyricsVoice = basses \newaddlyrics basses \bassWords
>>
\paper {
SCM s = me->get_grob_property ("dash-fraction");
if (gh_number_p (s))
fraction = gh_scm2double (s);
+
fraction = (fraction >? 0) <? 1.0;
Real period = Staff_symbol_referencer::staff_space (me);
if (gh_number_p (s))
period *= gh_scm2double (s);
+ if (period < 0)
+ return Molecule ();
+
return Lookup::dashed_line (thick, from, to, period, fraction);
}
else
Translator_group *t = report_to ();
while (t && t->daddy_trans_)
t = t->daddy_trans_;
-
- Translator_group* voice = find_context_below (t, "Voice", ly_scm2string (voice_name));
+
+ String name = ly_scm2string (voice_name);
+ Translator_group* voice = find_context_below (t, "Voice", name);
Translator_group *thread = 0;
if (voice)
thread = find_context_below (voice, "Thread", "");
+ else
+ get_music ()->origin ()->warning (_f("Cannot find Voice: %s\n", name.to_str0()));
if (thread)
music_context_ = thread;
-
+
if (lyrics_context_ && voice)
lyrics_context_->set_property ("associatedVoiceContext", voice->self_scm ());
}
{
Grob *me = unsmob_grob (element_smob);
-
SCM pos = me->get_grob_property ("staff-position");
Real off =0.0;
if (gh_number_p (pos))
for (int i=0; i < broken_intos_.size (); i++)
{
SCM al = broken_intos_[i]->get_grob_property ("all-elements");
- al = uniquify_list (al);
+
+ /*
+ don't do this: strange side effects.
+ */
+ // al = uniquify_list (al);
}
if (verbose_global_b)
progress_indication ("[");
- system->post_processing (i+1 == broken_intos_.size ());
+ bool last = i+1 == broken_intos_.size ();
+ system->post_processing (last);
if (verbose_global_b)
{
(grob-property-description 'control-points list? "List of 4 offsets (number-pairs) that form control points for the tie/slur shape.")
(grob-property-description 'damping integer? "amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams .")
-(grob-property-description 'dash-period number? "the length of one dash + white space.")
+(grob-property-description 'dash-period number? "the length of one dash + white space. If negative, no line is drawn at all."
+)
(grob-property-description 'dash-fraction number? "Size of the dashes, relative to dash-period. Should be between 0.0 (no line) and 1.0 (continuous line).")
(grob-property-description 'dashed number? "[FIXME: use dash-period/dash length; see text-spanner] number representing the length of the dashes.")
(grob-property-description 'descendens boolean? "is this neume of a descendent type?.")