Han-Wen Nienhuys wrote:
2007/10/9, Ralph Little <[EMAIL PROTECTED]>:
Hi,
More strangeness.

In Performer_group::do_announces(), there is this:
==================================
  while (1)
    {
      performer_each (get_simple_trans_list (),
              &Performer::create_audio_elements);

      if (!announce_infos_.size ())
    break;

      acknowledge_audio_elements ();
      announce_infos_.clear ();
    }


this looks fishy; better take a look at the one for grobs. The idea is that
new objects may be created in response to acknowledged objects. Then these
new objects have to be announced, etc.
Hi,
In retrospect, I think it is "OK" in what it is trying to do.
Looking at Engraver_group::do_announces, it is clearly copied originally from that.

However, no performer actually derives from Performer::create_audio_elements() which is a NOP, so it's a bit pointless. I was worried that it might be a performance hit on Lilypond if it was unnecessarily repeating calls where there was nothing left to do. It appears now that in practice it does exactly nothing anyway.

If create_audio_elements is not used, perhaps it could be dropped unless there is a structural need for it in circumstances that have yet not been encountered. I do not yet have a sufficient overall feel for how it fits in to give an authoritative view on this.

Regards,
Ralph


_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to