2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/engraver-group.cc (do_announces): move recursion call out
+ of while loop.
+
* lily/drum-note-performer.cc (class Drum_note_performer): use
process_music everywhere.
void
Engraver_group::do_announces ()
{
- do
+ for (SCM s = context ()->children_contexts ();
+ scm_is_pair (s); s = scm_cdr (s))
{
- for (SCM s = context ()->children_contexts ();
- scm_is_pair (s); s = scm_cdr (s))
- {
- Context *c = unsmob_context (scm_car (s));
- Engraver_group *group
- = dynamic_cast<Engraver_group *> (c->implementation ());
- if (group)
- group->do_announces ();
- }
+ Context *c = unsmob_context (scm_car (s));
+ Engraver_group *group
+ = dynamic_cast<Engraver_group *> (c->implementation ());
+ if (group)
+ group->do_announces ();
+ }
- while (1)
+ do
+ {
+ while (1)
{
precomputed_translator_foreach (PROCESS_ACKNOWLEDGED);
if (announce_infos_.size () == 0)
void
Performer_group::do_announces ()
{
+ for (SCM s = context ()->children_contexts ();
+ scm_is_pair (s); s = scm_cdr (s))
+ {
+ Context *c = unsmob_context (scm_car (s));
+ Performer_group *group
+ = dynamic_cast<Performer_group *> (c->implementation ());
+ if (group)
+ group->do_announces ();
+ }
+
while (1)
{
performer_each (get_simple_trans_list (),