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