]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/midi-item.cc (name): new method.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 20 Aug 2005 23:56:02 +0000 (23:56 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 20 Aug 2005 23:56:02 +0000 (23:56 +0000)
* lily/engraver-group.cc (do_announces): move recursion call out
of while loop.

ChangeLog
lily/engraver-group.cc
lily/include/midi-item.hh
lily/midi-item.cc

index 514d621211da60f548f67a46c3aee976718afc23..62eb47f6e6d3ae04cc330350fbd644c97d355af4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
 
+       * lily/midi-item.cc (name): new method.
+
        * lily/staff-performer.cc (acknowledge_audio_element): use
        signature of baseclass.
 
index ff0271515c4396c0cd420f48c1c3031b5f8a9334..fa6a780681b74db384ddcc4de2f9bdf89719552f 100644 (file)
@@ -93,19 +93,23 @@ Engraver_group::pending_grob_count () const
 void
 Engraver_group::do_announces ()
 {
-  for (SCM s = context ()->children_contexts ();
-       scm_is_pair (s); s = scm_cdr (s))
+  do
     {
-      Context *c = unsmob_context (scm_car (s));
-      Engraver_group *group
-       = dynamic_cast<Engraver_group *> (c->implementation ());
-      if (group)
-       group->do_announces ();
-    }
+      /*
+       DOCME: why is this inside the loop? 
+       */
+      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 ();
+       }
 
- do
-    {
-       while (1)
+      
+      while (1)
        {
          precomputed_translator_foreach (PROCESS_ACKNOWLEDGED);
          if (announce_infos_.size () == 0)
index 6c102329185e891c4f8934e55ddf9c691744339c..0cfa4908ee6c4b1a3ef8f52b9ba109c396f08bbf 100644 (file)
@@ -20,6 +20,7 @@ class Midi_item
 public:
   Midi_item ();
   virtual ~Midi_item ();
+  virtual char const *name () const;
 
   /// factory
   static Midi_item *get_midi (Audio_item *a);
index 4e6605d5308f5f4817b13f1155062c795c1a5db6..350bb283320a0d827cf6698315b71dd58c167deb 100644 (file)
@@ -15,6 +15,7 @@
 #include "midi-stream.hh"
 #include "duration.hh"
 #include "program-option.hh"
+
 #include "killing-cons.tcc"
 
 #define PITCH_WHEEL_TOP 0x3FFF
@@ -465,3 +466,10 @@ Midi_track::data_string () const
     }
   return str;
 }
+
+
+char const *
+Midi_item::name () const
+{
+  return classname (this);
+}