lilypond-devel
[Top][All Lists]
Advanced

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

Part_combine_iterator: eliminate array of context handles (issue 2402700


From: nine . fierce . ballads
Subject: Part_combine_iterator: eliminate array of context handles (issue 240270043 by address@hidden)
Date: Thu, 28 May 2015 11:47:02 +0000

Reviewers: ,

Message:
Here's the next battle in the war against the Part_combine_iterator.
I haven't created a Google Code issue yet.

Description:
This review covers multiple commits.

[1] Part_combine_iterator: move mmrest killing after child iteration

Also limit mmrest killing to contexts that have just changed from
being used to being unused.

[2] Part_combine_iterator: create child iterators in parent context

Add an initial split state to ensure that the first split-list entry,
whatever it is, will redirect the outlets for the child iterators.

[3] Part_combine_iterator: use NullVoice instead of Devnull

This makes all outlets a kind of Voice.

[4] Part_combine_iterator: eliminate array of context handles

The Part_combine_iterator no longer creates or keeps alive the Voice
contexts that it uses.  make-directed-part-combine-music does it.

When the Part_combine_iterator needs to redirect a child iterator, it
finds the new Voice by name among the siblings of the current Voice.


Please review this at https://codereview.appspot.com/240270043/

Affected files (+87, -75 lines):
  M lily/part-combine-iterator.cc
  M ly/music-functions-init.ly
  M scm/define-music-display-methods.scm





reply via email to

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