Hi Aaron,

The inclusion of *\override Stem.neutral-direction = #'() *comes straight
from the LSR here:

http://lilypond.org/doc/v2.18/Documentation/snippets/pitches#pitches-automatically-changing-the-stem-direction-of-the-middle-note-based-on-the-melody

Here is another MWE to reproduce the problem:

%%%%
\version "2.19.82"
\language english

\layout {
  \context {
    \Staff
    \consists "Melody_engraver"
    \override Stem.neutral-direction = #'()
  }
}

\relative c'' {
  \time 3/2
  \tuplet 3/2 2 {
    r4 df \f af gf' cf, ef gf, e' a,
  } |

  \tuplet 3/2 2 { r4 g' bf, f' e, r df' c, r } |
}
%%%%

And the error message:

Starting lilypond 2.19.82 [mwe.ly]...

Processing `/Users/craigdabelstein/Desktop/mwe.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-stable-2.20/flower/include/drul-array.hh:35
<0>: failed assertion `d == 1 || d == -1'

Exited with exit status 1.

Craig


On Tue, 25 Jun 2019 at 22:56, Aaron Hill <lilyp...@hillvisions.com> wrote:

> 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
>


-- 
[image: photograph]
*Craig Dabelstein*
Owner
email: cr...@maximesmusic.com.au
Maxime's Music, QLD, Australia
[image: facebook icon] <https://www.facebook.com/maximesmusic.com.au> [image:
twitter icon] <https://twitter.com/MaximesMusic> [image: youtube icon]
<http://www.youtube.com/c/Maximesmusic_for_band> [image: instagram icon]
<https://www.instagram.com/maximes_music/>  maximesmusic.com.au
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to