[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
- Part_combine_iterator: eliminate array of context handles (issue 240270043 by address@hidden),
nine . fierce . ballads <=