CVSROOT: /cvsroot/lilypond
Module name: lilypond
Branch:
Changes by: Han-Wen Nienhuys <[EMAIL PROTECTED]> 05/08/20 23:31:39
Modified files:
. : ChangeLog
lily : engraver-group.cc performer-group.cc
Log message:
(do_announces): move recursion call out
of while loop.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.4047&tr2=1.4048&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/engraver-group.cc.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/performer-group.cc.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.4047 lilypond/ChangeLog:1.4048
--- lilypond/ChangeLog:1.4047 Sat Aug 20 23:20:18 2005
+++ lilypond/ChangeLog Sat Aug 20 23:31:39 2005
@@ -1,5 +1,8 @@
2005-08-21 Han-Wen Nienhuys <[EMAIL PROTECTED]>
+ * 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.
Index: lilypond/lily/engraver-group.cc
diff -u lilypond/lily/engraver-group.cc:1.26
lilypond/lily/engraver-group.cc:1.27
--- lilypond/lily/engraver-group.cc:1.26 Thu Aug 18 15:34:31 2005
+++ lilypond/lily/engraver-group.cc Sat Aug 20 23:31:39 2005
@@ -93,19 +93,19 @@
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)
Index: lilypond/lily/performer-group.cc
diff -u lilypond/lily/performer-group.cc:1.2
lilypond/lily/performer-group.cc:1.3
--- lilypond/lily/performer-group.cc:1.2 Thu Aug 18 15:40:10 2005
+++ lilypond/lily/performer-group.cc Sat Aug 20 23:31:39 2005
@@ -62,6 +62,16 @@
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 (),
_______________________________________________
Lilypond-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs