]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/request-iterator.cc
release: 1.1.53
[lilypond.git] / lily / request-iterator.cc
index 5ed0f311556015b890cc3724c78e0184263a5a08..ca103ee062132c131563a3ef012a7c02301d67a1 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #include "translator-group.hh"
 #include "music-list.hh"
 #include "request.hh"
 
-IMPLEMENT_IS_TYPE_B1(Request_chord_iterator,Music_iterator);
+
 
 void
 Request_chord_iterator::construct_children()
 {
-  elt_duration_ =elt_l ()->duration ();
+  elt_length_mom_ =elt_l ()->length_mom ();
   get_req_translator_l();
 }
 
@@ -36,7 +36,7 @@ Request_chord_iterator::Request_chord_iterator ()
 bool
 Request_chord_iterator::ok() const
 {
-  return (elt_duration_ && !last_b_) || first_b_;
+  return (elt_length_mom_ && !last_b_) || first_b_;
 }
 
 
@@ -46,7 +46,7 @@ Request_chord_iterator::next_moment() const
 {
   Moment m (0);
   if  (!first_b_)
-    m = elt_duration_;
+    m = elt_length_mom_;
   return m;
 }
 
@@ -54,7 +54,7 @@ void
 Request_chord_iterator::do_print() const
 {
 #ifndef NPRINT
-  DOUT << "duration: " << elt_duration_;
+  DOUT << "duration: " << elt_length_mom_;
 #endif
 }
 
@@ -63,20 +63,21 @@ Request_chord_iterator::do_process_and_next (Moment mom)
 {
   if (first_b_)
     {
-      for (PCursor<Music*> i (elt_l ()->music_p_list_p_->top ()); i.ok(); i++)
+      for (Cons<Music> *i = elt_l ()->music_p_list_p_->head_; i; i = i->next_)
        {
-         if (Request * req_l = dynamic_cast<Request*> (i.ptr()))
+         if (Request * req_l = dynamic_cast<Request*> (i->car_))
            {
-             bool gotcha = report_to_l()->try_request (req_l);
+             bool gotcha = report_to_l()->try_music (req_l);
              if (!gotcha)
-               req_l->warning (_f ("junking request: `%s\'", req_l->name()));
+               req_l->warning (_f ("junking request: `%s\'", classname( req_l)));
            }
          else
-           i.ptr ()->warning (_f ("Huh? Not a Request: `%s\'", i.ptr()->name ()));
+           i->car_->warning (_f ("Huh? Not a Request: `%s\'",
+                                  classname (i->car_)));
        }
       first_b_ = false;
     }
 
-  if (mom >= elt_duration_)
+  if (mom >= elt_length_mom_)
     last_b_ = true;
 }