]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/request-chord-iterator.cc
release: 1.3.106
[lilypond.git] / lily / request-chord-iterator.cc
index 080240a8b519b726b25d9dc6d8e1e3fe58d0009c..79df69f6daefd86727f066e54561ea55ff86499b 100644 (file)
@@ -49,7 +49,7 @@ SCM
 Request_chord_iterator::get_music (Moment) const
 {
   SCM s = SCM_EOL;
-  if (music_l_)
+  if (last_processed_mom_ < Moment (0))
     {
       Music_sequence * ms = dynamic_cast<Music_sequence*> (music_l_);
      
@@ -64,22 +64,16 @@ Request_chord_iterator::get_music (Moment) const
 void
 Request_chord_iterator::process (Moment m)
 {
-  if (music_l_)
+  if (last_processed_mom_ < Moment (0))
     {
       for (SCM s = dynamic_cast<Music_sequence *> (music_l_)->music_list ();
           gh_pair_p (s);  s = gh_cdr (s))
        {
          Music *mus = unsmob_music (gh_car (s));
 
-         if (Request * req_l = dynamic_cast<Request*> (mus))
-           {
-             bool gotcha = try_music (req_l);
-             if (!gotcha)
-               req_l->origin ()->warning (_f ("Junking request: `%s'", classname( req_l)));
-           }
-         else
-           mus->origin ()->warning (_f ("Huh?  Not a Request: `%s'",
-                                        classname (mus)));
+         bool gotcha = try_music (mus);
+         if (!gotcha)
+           mus->origin ()->warning (_f ("Junking request: `%s'", classname(mus)));
        }
     }
   skip (m);