Subject: Infinity or NaN encountered

From: Daniel Cartron <[email-masked]>
Date: Wed, 05 Jun 2013 08:23:36 +0200

Bonjour,

Pour un morceau de 6 mesures j'ai des tonnes d'erreur (plus de 1500 lignes 
!) qui sont causées par
\override NoteHead #'stencil = ##f

Infinity or NaN encountered

erreur de programmation : ignoring weird minimum distance
poursuite ; croisons les doigts.

erreur de programmation : insane box for skyline
poursuite ; croisons les doigts.

erreur de programmation : ignoring weird minimum distance
poursuite ; croisons les doigts.

erreur de programmation : No viable beam quanting found.  Using unquanted y 
value.
poursuite ; croisons les doigts.

erreur de programmation : Improbable offset for stencil: -nan staff space
Setting to zero.
poursuite ; croisons les doigts.

Avertissement : Détection d'une valeur infini ou non numérique. Substitution 
par 0.0

si je remplace par
\override NoteHead #'stencil = #point-stencil je n'ai plus ces erreurs mais 
l'affichage n'est pas satisfaisant, les indications de doigté ne sont plus 
alignées sur la ligne mais suivent les têtes de notes invisibles...

Par contre avec ##f tout est aligné sauf que j'ai une partie des doigtés qui 
sautent d'une portée à l'autre...

Est-ce un bug, ou ai-je une erreur ?

Voici mon code :

\version "2.16.0"
\language "italiano"

Melody = \relative sol''  {
	\clef treble
	\key do \major
	\time 4/4
	\tempo 4=100
	mi4-2 mi \grace { re16[ mi] } re8 do  % 2
	la4-5 la-5 \grace { la16[ si] } la8 sol-4  % 4
	mi4-3 mi \grace { re16[ mi] } re8-4 do-2  % 5
	la4-1 re-2 re8-1 mi-1  % 6
       si4\1-1 re\2-2 do-3 mi-4
}

diatoStaffSetup = \with {
	\override StringNumber #'stencil = #point-stencil
	\override Fingering #'stencil = #point-stencil
	\override StrokeFinger #'stencil = ##f
}

diatoFingeringSetup = \with {
	\override StaffSymbol #'line-count = #1
	\override StaffSymbol #'line-positions =  #'(0 0 0 0 0)
	\remove "Time_signature_engraver"
	\override Clef #'stencil = ##f
%	\override NoteHead #'stencil = ##f
	\override NoteHead #'stencil = #point-stencil
	\override KeySignature #'stencil = ##f
	%\override Stem #'length = #0
	\override Stem #'stencil = ##f
	\override Flag #'stencil = ##f
	\override Beam #'stencil = ##f
	\override Dots #'stencil = ##f
	\override TupletBracket #'stencil = ##f
	\override TupletNumber #'stencil = ##f
	\override NoteEvent #'stencil = ##f
	\override KeyChangeEvent #'stencil = #point-stencil
	\override StringNumber #'stencil = ##f
	\override StrokeFinger #'stencil = ##f
	\override StaffSymbol #'staff-space = #1
	%\override LedgerLineSpanner #'stencil = #point-stencil
}

\score {
	\new StaffGroup <<
	\new Staff \with { \diatoStaffSetup }  << \Melody >>
	\new Staff \with { \diatoFingeringSetup } << \Melody >>
 }

Merci

-- 
Cordialement, Daniel Cartron
« La religion est une fatiguante solution de paresse. »
E. M. Cioran

---

From: Jean-Charles Malahieude <[email-masked]>
Date: Wed, 05 Jun 2013 18:40:56 +0200

> Infinity or NaN encountered

Que je n'ai pas avec 2.17.16

N'as-tu rien d'autre dans ton fichier ?

@+
Jean-Charles

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 05 Jun 2013 19:25:27 +0200

> N'as-tu rien d'autre dans ton fichier ?

ben si ya le \override NoteHead #'stencil = ##f que j'ai commenté et remplacé 
par \override NoteHead #'stencil = #point-stencil pour montrer que c'est bien 
cette ligne qui crée le pb. Donc il faut inverser le commentaire pour voir ce 
qui se passe.

-- 
Cordialement, Daniel Cartron
« Dans la marine on ne fait pas grand-chose mais on le fait de bonne heure. »
Devise Shadock

---

From: Daniel Cartron <[email-masked]>
Date: Sat, 08 Jun 2013 19:07:01 +0200

> > Infinity or NaN encountered

J'ai pas mal fouillé le web sur le sujet, il semblerait que certains 
considèrent ça comme un bug lorsqu'on trafique le nombre de lignes, et qui 
serait résolu depuis la 2.14...

En tout cas j'ai trouvé une solution qui marche parfaitement bien, remplacer
        \override StaffSymbol #'line-positions =  #'(0 0 0 0 0)
par 
        \override StaffSymbol #'line-positions =  #'(5)
et utiliser
        \override NoteHead #'stencil = #point-stencil
et surtout pas
        \override NoteHead #'stencil = ##f
Pourquoi ça marche, ça par contre je n'en ai aucune idée...

Résultat en pj

-- 
Cordialement, Daniel Cartron
« Il n'y a pas cinquante manières de faire la guerre, il n'y en a qu'une : la 
sale. »
François Cavanna - Le saviez-vous ?