lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A quick Performer_group query


From: Ralph Little
Subject: Re: A quick Performer_group query
Date: Wed, 10 Oct 2007 10:12:26 -0700
User-agent: Thunderbird 1.5.0.13 (X11/20070824)

Han-Wen Nienhuys wrote:
2007/10/9, Ralph Little <address@hidden>:
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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]