]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/chord-iterator.cc
release: 1.0.15
[lilypond.git] / lily / chord-iterator.cc
index 83c5435ed6aa043031c25407e532ec273caa5bc7..34c91c586c413bad45187422e17d3846bfed157a 100644 (file)
@@ -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 <hanwen@stack.nl>
+  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #include "translator-group.hh"
 #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<Music*> i (chord_C_->music_p_list_.top());  
+  for (PCursor<Music*> 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_)
-           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 (simultaneous_music_l ()->multi_level_i_));
          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<Music_iterator*> 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<Music_iterator*> 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);
+IMPLEMENT_IS_TYPE_B1(Simultaneous_music_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<Music_iterator*> i (children_p_list_.top()); i.ok (); i++)
-    next_ = next_ <? i->next_moment() ;
-  return next_;
+    next = next <? i->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_;
+}