X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fchord-iterator.cc;h=1f61364c2b98d6f0933613086f28a0403874ba47;hb=615a9212789c2cb2994748c023d0e19f3a83a0fd;hp=054990199fff85b35569a7294a439b0a2d9f7bd6;hpb=1edc2436a028cb2d1be8786ab0972a95b0985d42;p=lilypond.git diff --git a/lily/chord-iterator.cc b/lily/chord-iterator.cc index 054990199f..1f61364c2b 100644 --- a/lily/chord-iterator.cc +++ b/lily/chord-iterator.cc @@ -1,9 +1,9 @@ /* - chord-iter.cc -- implement Chord_iterator + Simultaneous_music-iter.cc -- implement Simultaneous_music_iterator source file of the GNU LilyPond music typesetter - (c) 1997 Han-Wen Nienhuys + (c) 1997--1998 Han-Wen Nienhuys */ #include "translator-group.hh" @@ -13,35 +13,28 @@ #include "music-list.hh" -Chord_iterator::~Chord_iterator() -{ -} - -Chord_iterator::Chord_iterator (Chord const *chord_C) -{ - chord_C_ = chord_C; -} - void -Chord_iterator::construct_children() +Simultaneous_music_iterator::construct_children() { int j = 0; - for (PCursor i (chord_C_->music_p_list_.top()); + for (PCursor i (simultaneous_music_l ()->music_p_list_p_->top()); i.ok(); j++, i++) { Music_iterator * mi = get_iterator_p (i.ptr()); if (mi->ok()) { - if (chord_C_->translator_type_str_.empty_b ()) - set_translator (mi->report_to_l()->ancestor_l (chord_C_->multi_level_i_)); + if (simultaneous_music_l ()->translator_type_str_.empty_b ()) + set_translator (mi->report_to_l()->ancestor_l (0)); children_p_list_.bottom().add (mi); } else delete mi; } } + + void -Chord_iterator::do_print() const +Simultaneous_music_iterator::do_print() const { #ifndef NPRINT for (PCursor i (children_p_list_.top()); i.ok (); i++) @@ -52,7 +45,7 @@ Chord_iterator::do_print() const } void -Chord_iterator::process_and_next (Moment until) +Simultaneous_music_iterator::do_process_and_next (Moment until) { for (PCursor i (children_p_list_.top()); i.ok ();) { @@ -65,25 +58,32 @@ Chord_iterator::process_and_next (Moment until) else i++; } - Music_iterator::process_and_next (until); + Music_iterator::do_process_and_next (until); } -IMPLEMENT_IS_TYPE_B1(Chord_iterator,Music_iterator); + Moment -Chord_iterator::next_moment() const +Simultaneous_music_iterator::next_moment() const { - Moment next_ = infinity_mom; + Moment next; + next.set_infinite (1); for (PCursor i (children_p_list_.top()); i.ok (); i++) - next_ = next_ next_moment() ; - return next_; + next = next next_moment() ; + return next; } bool -Chord_iterator::ok() const +Simultaneous_music_iterator::ok() const { return children_p_list_.size(); } + +Simultaneous_music* +Simultaneous_music_iterator::simultaneous_music_l ()const +{ + return ( Simultaneous_music *) music_l_; +}