DescriptionPart-combine: Add a way to override the part-combination decision
Add functions partcombineApart[Once], partcombineChords[Once], partcombineUnisono[Once] and partcombineAutomatic to tweak the decision of the part-combiner.
Internally, they are implemented as
\once\set partcombineForced = #...
\set partcombineForced = #...
\unset partcombineForced
The partcombineForced "context property" is not handled as a context property, but the \set events are rather handled directly in the part-combiner (scm/part-combine.scm, function analyse-forced-combine).
As a result, you can't initialize a context to a given default value of partcombineForced, since the part-combiner never reads the context property itself, but tries to catch the corresponding \set/\unset events.
For the *Once functions, we rely on the property_iterator to add a corresponding UnsetProperty event at the beginning of the next time step, though.
Patch Set 1 : Move the part-combine overriding to scm/part-combine.scm #
Total comments: 15
Patch Set 2 : Use a dedicated music event instead of abusing \set #Patch Set 3 : Properly fix warnings about simultaneous events and about unhandled events #
Total comments: 2
MessagesTotal messages: 2
|