+2002-09-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * lily/musical-request.cc: do ADD_MUSIC for String_number_req.
+
+ * lily/include/lily-guile.hh (scm_remember_upto_here_1): add glue
+
+ * lily/sequential-iterator.cc (get_pending_events): don't delete
+ music-iterator.
+
2002-09-08 Rune Zedeler <rune@zedeler.dk>
* scm/music-property-description.scm: describe string-number (whoops)
2002-09-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ * lily/lyric-combine-music-iterator.cc
+ (Lyric_combine_music_iterator): small bugfix
+
* lily/include/simultaneous-music-iterator.hh (class
Simultaneous_music_iterator): use SCM list for list of iterators.
CONTRIBUTORS
Graham Percival
+Rune Zedeler
+Jeremie Lumbroso
+Juergen Reuter
BUG HUNTERS
m = iter->pending_moment ();
}
+ scm_gc_unprotect_object (iter->self_scm());
+
return ps;
}
protected:
virtual void process (Moment);
-
-
Array<Pitch> pending_pitch (Moment)const;
private:
-
-
Direction where_dir_;
void change_to (Music_iterator* , String, String);
};
}
#define scm_c_define_gsubr scm_make_gsubr
#define scm_c_eval_string(str) gh_eval_str ((char*)str)
-
+#define scm_remember_upto_here_1(s) scm_remember (&s)
#define scm_gc_protect_object scm_protect_object
#define scm_gc_unprotect_object scm_unprotect_object
#define scm_list_n scm_listify
{
}
-
-
-
Translator_group*
Music_iterator::report_to () const
{
&& get_direction () == a->get_direction ();
}
-
-
+ADD_MUSIC(String_number_req);
scm_gc_mark(second_iter_->self_scm());
}
+
Part_combine_music_iterator::Part_combine_music_iterator (Part_combine_music_iterator const &src)
: Music_iterator (src)
{
- second_iter_ = src.second_iter_ ? src.second_iter_->clone () : 0;
first_iter_ = src.first_iter_ ? src.first_iter_->clone () : 0;
+ second_iter_ = src.second_iter_ ? src.second_iter_->clone () : 0;
first_until_ = src.first_until_;
second_until_ = src.second_until_;
Moment second_mom = second_until_;
Moment diff_until = diff_mom + now;
+
bool first = true;
Music_iterator *first_iter = first_iter_->clone ();
Music_iterator *second_iter = second_iter_->clone ();
-
+
Moment last_pending (-1);
Moment pending = now;
while (now < diff_until
second_iter->skip (pending);
now = pending;
}
- scm_gc_unprotect_object ( first_iter->self_scm());
- scm_gc_unprotect_object( second_iter->self_scm());
+ scm_gc_unprotect_object (first_iter->self_scm ());
+ scm_gc_unprotect_object (second_iter->self_scm ());
}
+
return state;
}
else
me->next_element (false);
}
- delete me;
-
+
+ scm_gc_unprotect_object (me->self_scm());
return s;
}
;;(write standalone (current-error-port))
-; (set-debug-cell-accesses! #t)
;;; General settings
-
-
;; debugging evaluator is slower.
-(debug-enable 'debug)
-(debug-enable 'backtrace)
-(read-enable 'positions)
+;(debug-enable 'debug)
+;(debug-enable 'backtrace)
+;(read-enable 'positions)
+;(set-debug-cell-accesses! #f)
+
(define point-and-click #f)