On 2019-06-25 4:46 am, David Kastrup wrote:
Craig Dabelstein <craig.dabelst...@gmail.com> writes:
And the guilty line is ...
\consists "Melody_engraver"
%\override Stem.neutral-direction = #'()
Commenting out the \override Stem.neutral-direction line fixed the
problem.
More likely than not half of a red herring: garbage protection problems
are quite elusive to track down. This propably changes the actions the
Melody_engraver takes.
Unless I am completely lost myself, this is not the trampoline problem
from before, though I suspect the appearance of "Melody_engraver" has
confused things.
Here is the proper repro MWE:
%%%%
\version "2.19.82"
{
\override Stem.neutral-direction = #'()
\tuplet 3/2 { r4 b' c'' }
}
%%%%
This is bad input because neutral-direction must be strictly UP or DOWN
(or rather it can be a procedure that ultimately evaluates to 1 or -1).
From what I can see, the point of the property is to determine what
happens to a note on the middle line of a staff when there is nothing
else (like a beam) that can help sway the decision one way or the other.
Setting it to #'() would seem to be meaningless.
Consider the output from the above MWE:
====
GNU LilyPond 2.19.82
Processing `drul-array-bad-direction.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
programming error: Stem dir must be up or down.
continuing, cross fingers
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...lilypond:
/home/gub/NewGub/gub/target/linux-64/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.20/flower/include/drul-array.hh:35:
T& Drul_array<T>::at(Direction) [with T = double]: Assertion `d == 1 ||
d == -1' failed.
The terminal process terminated with exit code: 134
====
LilyPond is already emitting a programming error: "Stem dir must be up
or down". Whenever I see "cross fingers", I never make any assumption
of what will work or not. So a failing assertion afterwards is not
surprising.
Craig: Would you confirm whether your project output contains the
programming error line? I would say there is a bug if you are *only*
seeing the failing assertion.
Perhaps an additional check could be added to stem.cc:649 to ensure that
neutral-direction has a sane value, which could catch this particular
error earlier in the process.
-- Aaron Hill
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user