]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/quote-iterator.cc
release commit
[lilypond.git] / lily / quote-iterator.cc
index 8b101eb6e878b7288e65c4086cc82dfb6763c577..961ae02f8140d87ee4bac271d0f108b7e3ab1ce7 100644 (file)
@@ -33,7 +33,7 @@ public:
 
   bool accept_music_type (Music*) const;
 protected:
-  virtual void derived_mark ();
+  virtual void derived_mark () const;
   virtual void construct_children ();
   virtual Moment pending_moment () const;
   virtual void process (Moment);
@@ -45,7 +45,7 @@ Quote_iterator::accept_music_type (Music *mus) const
 {
   SCM accept = get_outlet()->get_property ("quotedEventTypes");
   for (SCM s =  mus->get_property ("types");
-       ly_c_pair_p (s);  s = ly_cdr (s))
+       scm_is_pair (s);  s = ly_cdr (s))
     {
       if (scm_memq (ly_car (s), accept) != SCM_BOOL_F)
        return true;
@@ -56,13 +56,14 @@ Quote_iterator::accept_music_type (Music *mus) const
 
 
 void
-Quote_iterator::derived_mark ()
+Quote_iterator::derived_mark () const
 {
   scm_gc_mark (transposed_musics_ );
 }
 
 Quote_iterator::Quote_iterator ()
 {
+  transposed_musics_ = SCM_EOL;
   event_vector_ = SCM_EOL;
   event_idx_ = 0;
   end_idx_ = 0;
@@ -160,12 +161,12 @@ Quote_iterator::process (Moment m)
       event_idx_++;
     }
 
-  if (ly_c_pair_p (entry))
+  if (scm_is_pair (entry))
     {
       Pitch * quote_pitch = unsmob_pitch (ly_cdar (entry));
       Pitch * me_pitch = unsmob_pitch (get_outlet ()->get_property ("instrumentTransposition"));
       
-      for (SCM s = ly_cdr (entry); ly_c_pair_p (s); s = ly_cdr (s))
+      for (SCM s = ly_cdr (entry); scm_is_pair (s); s = ly_cdr (s))
        {
          SCM ev_acc = ly_car (s);
 
@@ -187,6 +188,7 @@ Quote_iterator::process (Moment m)
                  SCM copy = ly_deep_mus_copy (mus->self_scm ());
                  mus = unsmob_music (copy);
                  transposed_musics_ = scm_cons (copy, transposed_musics_);
+
                  
                  mus->transpose (diff);
                }