[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Core dump on system-initial grace note with proportional notation
From: |
David Kastrup |
Subject: |
Re: Core dump on system-initial grace note with proportional notation |
Date: |
Wed, 24 Aug 2016 11:42:23 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) |
Trevor Bača <address@hidden> writes:
> Hi,
>
> I've found a reproducible core dump related to grace music.
>
> Here's a minimal example. Explanation appears after:
>
> ### BEGIN EXAMPLE 1 (CORE DUMP) ###
>
> \version "2.19.46"
>
> \new Score \with {
> \override SpacingSpanner.strict-grace-spacing = ##t
> \override SpacingSpanner.strict-note-spacing = ##t
> \override SpacingSpanner.uniform-stretching = ##t
> proportionalNotationDuration = #(ly:make-moment 1 32)
> tupletFullLength = ##t
> } <<
> \new Staff {
> c'1
> \break
> \grace {
> c'16
> }
> c'1
> }
> \new Staff {
> \times 2/3 {
> c'2
> c'2
> c'2
> }
> c'1
> }
>>>
>
> ### END EXAMPLE 1 (CORE DUMP) ###
Good example. This is a case of a failed assertion when calling
Interval::center . Fixing this at the point where the assertion fails
(by just using 0.0 instead) leads to trashy output. The real problem is
that Tuplet_bracket::calc_x_positions returns a reversed interval.
Apparently it does not deal well with broken brackets in all cases.
There probably is something broken in its logic.
--
David Kastrup