X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmusic-sequence.cc;h=3848a3708bea82c53b7b56d34496995a9d8dc112;hb=7e72a1e50e94a7f9738d62599de79fe7745f600c;hp=b7e0e5695498090f7a27da241857dea3fa6cfa14;hpb=d9b43b93f2c885409bafdb157138158f65cc49aa;p=lilypond.git diff --git a/lily/music-sequence.cc b/lily/music-sequence.cc index b7e0e56954..3848a3708b 100644 --- a/lily/music-sequence.cc +++ b/lily/music-sequence.cc @@ -3,13 +3,13 @@ source file of the GNU LilyPond music typesetter - (c) 1998--2002 Han-Wen Nienhuys + (c) 1998--2004 Han-Wen Nienhuys */ #include "music-list.hh" -#include "debug.hh" +#include "warn.hh" #include "pitch.hh" - +#include "input.hh" SCM Music_sequence::music_list ()const @@ -28,19 +28,13 @@ Music_sequence::append_music (Music *m) scm_gc_unprotect_object (m->self_scm ()); } -Music_sequence::Music_sequence (SCM l) - : Music (l) -{ -} - -void -Music_sequence::transpose (Pitch rq) +Music_sequence::Music_sequence ( ) + : Music () { - 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); @@ -54,7 +48,7 @@ Music_sequence::cumulative_length (SCM l) for (SCM s = l; gh_pair_p (s); s = ly_cdr (s)) { - Moment l = unsmob_music (ly_car (s))->length_mom (); + Moment l = unsmob_music (ly_car (s))->get_length (); if (last_len.grace_part_ && l.main_part_) { last_len.grace_part_ = Rational (0); @@ -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) { @@ -83,42 +70,36 @@ Music_sequence::maximum_length (SCM l) for (SCM s = l; gh_pair_p (s); s = ly_cdr (s)) { Music * m = unsmob_music (ly_car (s)); - Moment l = m->length_mom (); + Moment l = m->get_length (); dur = dur >? 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 retval; + 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)) { - last = unsmob_music (ly_car (s))->to_relative_octave (last); - if (!count ++) - retval = last; + if (Music *m = unsmob_music (ly_car (s))) + { + last = m->to_relative_octave (last); + if (!count ++) + first = last; + } } - if (!ret_first) - retval = last; - - return retval; + 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); @@ -126,12 +107,6 @@ Music_sequence::compress_list (SCM l, Moment m) ADD_MUSIC (Music_sequence); -Music_sequence::Music_sequence () - : Music (SCM_EOL) -{ - -} - Moment Music_sequence::minimum_start (SCM l) { @@ -152,7 +127,7 @@ Music_sequence::first_start (SCM l) for (SCM s = l; gh_pair_p (s); s = ly_cdr (s)) { Music * mus = unsmob_music (ly_car (s)); - Moment l = mus->length_mom (); + Moment l = mus->get_length (); Moment s = mus->start_mom (); if (l.to_bool () || s.to_bool ()) return s;