X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmusic-sequence.cc;h=3848a3708bea82c53b7b56d34496995a9d8dc112;hb=7e72a1e50e94a7f9738d62599de79fe7745f600c;hp=1d967a3dde51731c1480fe88e7d64418c80d2b3e;hpb=28f232d1315559f8150eda01e9fb898886af9fd0;p=lilypond.git diff --git a/lily/music-sequence.cc b/lily/music-sequence.cc index 1d967a3dde..3848a3708b 100644 --- a/lily/music-sequence.cc +++ b/lily/music-sequence.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1998--2003 Han-Wen Nienhuys + (c) 1998--2004 Han-Wen Nienhuys */ #include "music-list.hh" @@ -34,13 +34,7 @@ Music_sequence::Music_sequence ( ) } void -Music_sequence::transpose (Pitch rq) -{ - transpose_list (music_list (), rq); -} - -void -Music_sequence::transpose_list (SCM l, Pitch rq) +transpose_music_list (SCM l, Pitch rq) { for (SCM s = l; gh_pair_p (s); s = ly_cdr (s)) unsmob_music (ly_car (s))->transpose (rq); @@ -69,13 +63,6 @@ Music_sequence::cumulative_length (SCM l) return cumulative; } -Pitch -Music_sequence::to_relative_octave (Pitch p) -{ - return do_relative_octave (p, false); -} - - Moment Music_sequence::maximum_length (SCM l) { @@ -90,22 +77,16 @@ Music_sequence::maximum_length (SCM l) return dur; } - Pitch -Music_sequence::do_relative_octave (Pitch p, bool ret_first) +music_list_to_relative (SCM l,Pitch p, bool ret_first) { - Pitch first; + Pitch first = p; int count=0; Pitch last = p; - for (SCM s = music_list (); gh_pair_p (s); s = ly_cdr (s)) + for (SCM s = l; gh_pair_p (s); s = ly_cdr (s)) { - Music *m = unsmob_music (ly_car (s)); - if (!m) - { - programming_error ("Music_sequence should only contain music!"); - } - else + if (Music *m = unsmob_music (ly_car (s))) { last = m->to_relative_octave (last); if (!count ++) @@ -113,25 +94,12 @@ Music_sequence::do_relative_octave (Pitch p, bool ret_first) } } - if (ret_first && first != last) - { - String str = _("Changing relative definition causes pitch change."); - str += "\nWas: " + first.to_string () - + "Will be: " + last.to_string () + "\n"; - - origin()->warning (str); - } - return last; + return (ret_first)? first : last; } -void -Music_sequence::compress (Moment m) -{ - compress_list (music_list (), m); -} void -Music_sequence::compress_list (SCM l, Moment m) +compress_music_list (SCM l, Moment m) { for (SCM s = l; gh_pair_p (s); s = ly_cdr (s)) unsmob_music (ly_car (s))->compress (m);