Hi, I've been using length-1 tuplets in my music recently. (Length-1 tuplets being tuplets with only a single note or rest.) It's quite wonderful that Lily handles these things correctly (just like how the system handles unusual time signatures like 1/12 and 5/14, too).
But I've now uncovered a bug that crashes LilyPond during the drawing stage of interpretation. Drawing systems.../home/gub/NewGub/gub/target/darwin-x86/src/lilypond-git.sv.gnu.org--lilypond.git-release-unstable/flower/include/interval.hh:227: failed assertion `!is_empty ()' Minimal example: %%% BEGIN BUG %%% \version "2.19.27" \layout { \context { \Score \override SpacingSpanner #'strict-note-spacing = ##t tupletFullLength = ##t } } \new Staff { \time 1/8 \times 2/3 { c'8. } \time 5/8 \times 2/3 { c'8. c'8. c'8. c'8. c'8. } } GNU LilyPond 2.19.27 Processing `illustration.ly' Parsing... Interpreting music... Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems.../home/gub/NewGub/gub/target/darwin-x86/src/lilypond-git.sv.gnu.org--lilypond.git-release-unstable/flower/include/interval.hh:227: failed assertion `!is_empty ()' %%% END BUG %%% Three conditions must be met to trigger the bug: 1. strict-note-spacing must be true. 2. tupletFullLength must be true. 3. further note input must follow the length-1 tuplet The following three modified examples help illustrate these conditions: %%% BEGIN COUNTEREXAMPLE 1 %%% \version "2.19.27" \layout { \context { \Score *% example works with strict-note-spacing commented-out* %\override SpacingSpanner #'strict-note-spacing = ##t tupletFullLength = ##t } } \new Staff { \time 1/8 \times 2/3 { c'8. } \time 5/8 \times 2/3 { c'8. c'8. c'8. c'8. c'8. } } %%% END %%% %%% BEGIN COUNTEREXAMPLE 2 %%% \version "2.19.27" \layout { \context { \Score \override SpacingSpanner #'strict-note-spacing = ##t *% example works with tupletFullLength commented-out* %tupletFullLength = ##t } } \new Staff { \time 1/8 \times 2/3 { c'8. } \time 5/8 \times 2/3 { c'8. c'8. c'8. c'8. c'8. } } %%% END %%% %%% BEGIN COUNTEREXAMPLE 3 %%% \version "2.19.27" \layout { \context { \Score \override SpacingSpanner #'strict-note-spacing = ##t tupletFullLength = ##t } } \new Staff { \time 1/8 \times 2/3 { c'8. } *% example works with second tuplet commented out* %\time 5/8 %\times 2/3 { % c'8. % c'8. % c'8. % c'8. % c'8. %} } %%% END %%% The bug is present under 2.19.26 and 2.19.27; I haven't tested under early versions. Thank you for all of the wonderful work in support of LilyPond's rhythmic time-keeping, Trevor. -- Trevor Bača www.trevorbaca.com _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond