]> git.donarmstrong.com Git - lilypond.git/commit
Issue 4485: Refactor \partcombine and \autochange iterators
authorDan Eble <nine.fierce.ballads@gmail.com>
Sat, 30 May 2015 16:46:44 +0000 (12:46 -0400)
committerDan Eble <nine.fierce.ballads@gmail.com>
Tue, 14 Jul 2015 11:34:05 +0000 (07:34 -0400)
commitc962a0162c67d8b67593c848d08c9345c8b045f0
tree674ab5aea5eaf6fd97327cacb0a29295db3b1e1d
parent1ad9b26da316e538a604e977d870af7185da5bc6
Issue 4485: Refactor \partcombine and \autochange iterators

Move the \partcombine context state machine from C++ to Scheme and
move the part-specific work into a new Part_combine_part_iterator.
What remains in Part_combine_iterator is multi-measure rest handling.

The part-specific work is now nothing more than changing context at
specified times, which is basically what \autochange does.  There are
still some differences, but most of the implementation of both is now
in the common base Change_sequence_iterator.
lily/auto-change-iterator.cc
lily/change-sequence-iterator.cc [new file with mode: 0644]
lily/include/change-sequence-iterator.hh [new file with mode: 0644]
lily/part-combine-iterator.cc
lily/part-combine-part-iterator.cc [new file with mode: 0644]
ly/music-functions-init.ly
scm/autochange.scm
scm/define-music-display-methods.scm
scm/define-music-properties.scm
scm/define-music-types.scm
scm/part-combiner.scm