RFC on Case 3 below.  Thanks.
— 
Dan

\version "2.20.0"

upper = f''1
lower = e'1

%% CASE 1: When the music in each simultaneous element begins with a
%% note, the upper staff is created first.
\score {
  <<
    \upper
    \lower
  >>
}

%% CASE 2: When there are sets preceding the notes in both branches,
%% the upper staff is still created first.
\score {
  <<
    {
      \set Timing.vocalName = "2a"
      \set Timing.vocalName = "2b"
      \upper
    }
    {
      \set Timing.vocalName = "2"
      \lower
    }
  >>
}

%% CASE 3: When only the first branch begins with a set, the staves
%% switch places.  Surprise!
%%
%% To fix this inconsistency, I suggest that as
%% Sequential_iterator::process() currently handles all the music up
%% to a given moment, Sequential_iterator::construct_children() should
%% handle all music at the initial moment--not just the first element.
%%
\score {
  <<
    {
      \set Timing.vocalName = "3"
      \upper
    }
    \lower
  >>
}


Reply via email to