--- /dev/null
+
+\header {
+ texidoc ="If the part-combiner shows two separate voices, multi-measure rests
+ are supposed to use the same settings as @code{\voiceOnce} and @code{\voiceTwo}.
+"
+}
+
+\layout { ragged-right = ##t }
+
+\version "2.13.35"
+
+mI = \relative c'' {
+ \partcombineApart
+ c2 c |
+ R1 |
+ c1
+}
+mII = \relative c' {
+ R1 |
+ c2 c |
+ c1
+}
+
+\score {
+ \new Staff \partcombine \mI \mII
+}
set_context (two);
second_iter_ = unsmob_iterator (get_iterator (unsmob_music (scm_cadr (lst))));
+
+ /* Mimic all settings of voiceOne/voiceTwo for the two separate voices...*/
+ /* FIXME: Is there any way to use the definition of \voiceOne/\voiceTwo
+ directly??? */
char const *syms[]
= {
"Stem",
execute_pushpop_property (two, sym,
ly_symbol2scm ("direction"), scm_from_int (-1));
}
+ /* Handle horizontal shifts for crossing notes */
+ execute_pushpop_property (one, ly_symbol2scm ("NoteColumn"),
+ ly_symbol2scm ("horizontal-shift"), scm_from_int (0));
+ execute_pushpop_property (two, ly_symbol2scm ("NoteColumn"),
+ ly_symbol2scm ("horizontal-shift"), scm_from_int (1));
+ /* Also handle MultiMeasureRest positions for voice 1/2 */
+ execute_pushpop_property (one, ly_symbol2scm ("MultiMeasureRest"),
+ ly_symbol2scm ("staff-position"), scm_from_int (4));
+ execute_pushpop_property (two, ly_symbol2scm ("MultiMeasureRest"),
+ ly_symbol2scm ("staff-position"), scm_from_int (-4));
+
}
IMPLEMENT_LISTENER (Part_combine_iterator, set_busy);