Menu

#2494 Mismatched alternative blocks with completion_heads_engraver causes unending loop

Fixed
nobody
Defect
2019-09-27
2012-04-24
Anonymous
No

Originally created by: *anonymous

Originally created by: colingh...@gmail.com

Reported by Leo Adamson:

http://lists.gnu.org/archive/html/bug-lilypond/2012-04/msg00104.html

Original post follows:

> I'm not top posting.

% The snippet below is a minimal representation of a fairly common type of
% 17th century English dance.

% Two closely related issues:

% 1. The combination of mismatched \alternative blocks, a time signature change,
%    and the Completion_heads_engraver causes an unending loop.

% 2. If you skip the \layout section and use the default Note_heads_engraver,
%    or miss-out the time signature change, compilation completes,
%    but bar-lines appear in the wrong places.
%    This may be expected behaviour for mismatched \alternative blocks,
%    and therefore not a bug. If so, please accept as a feature request that
%    on entering 2nd and later \alternative blocks the beat count within the
%    bar should be reset to where it was at the start of the first block.

% A complete workaround is to use \cadenzaOn inside the \alternative blocks.
% But it would be better if \alternative blocks behaved correctly on their own,
% with no workaround needed.

\version "2.14.2"

\layout {
  \context {
    \Voice
    \remove "Note_heads_engraver"
    \consists "Completion_heads_engraver"
  }
}

\relative c'' {
  \partial 8
  \repeat volta 2 { c8 c2~c4. }
  \repeat volta 2 { b8 }
  \alternative { { b2~b4. } { b1 } }
  \repeat volta 2 { \time 3/4 c2. }
}

Discussion

  • Malte Meyn

    Malte Meyn - 2019-07-09

    I think this was fixed in 2.19.0.

     
  • Malte Meyn

    Malte Meyn - 2019-09-27
    • labels: --> Fixed_2_19_0
    • Description has changed:

    Diff:

    
    
    • status: Accepted --> Fixed
    • Needs: -->
    • Patch: -->