Subject: must have Item for spanner bound ?

From: philippe hezaine <[email-masked]>
Date: Sat, 04 Mar 2006 22:40:11 +0100

Bonjour à tous
Je suis en train de saisir un prélude pour piano de Scriabine (à 3 voix) 
écrit avec un 3/4 à la clef.
La main gauche possède 2 voix : une basse arpègée (en triolets) et un
"ténor" (2 noires et 1 croche) se superposant aux triolets de croches 
tout le long du morceau de la manière suivante :

       "ténor"   :  (stemUp)                                    
b4             cis4           gis'8
basse arpègée: (stemDown)   b,,8   fis'8   cis'8   b'8   gis8   cis8   
e,8   gis'8   fis,,8  

Les notes des 2 voix sont toujours à l'unisson.
Lilypond compile parfaitement le morceau (génial !) mais j'obtiens en 
console 27 fois de suite ce message :
erreur de programmation : must have Item for spanner bound

Est-ce que quelqu'un a une idée ? Est-ce parce que j'utilise :
\override TupletBracket #'number-visibility = ##f   
    \override TupletBracket #'transparent = ##t
Merci d'avance.
Version 2.6.4

---

From: Gauvain Pocentek <[email-masked]>
Date: Sun, 05 Mar 2006 11:40:57 +0100

> Bonjour à tous
Salut Philippe,
> erreur de programmation : must have Item for spanner bound
S'il compile parfaitement c'est déjà un point positif :)
Pour le message d'erreur, c'est difficile de savoir ce qui se passe sans
plus d'informations. Est-ce que Lily ne fait pas référence à une ligne
ou à un élément particulier ?

> \override TupletBracket #'number-visibility = ##f      \override
> TupletBracket #'transparent = ##t
Je ne pense pas que le problème vienne de là.

Gauvain

		
___________________________________________________________________________ 
Nouveau : téléphonez moins cher avec Yahoo! Messenger. Appelez le monde entier à partir de 0,012 €/minute !
Téléchargez sur http://fr.messenger.yahoo.com

---

From: philippe hezaine <[email-masked]>
Date: Mon, 06 Mar 2006 21:17:46 +0100

Gauvain Pocentek wrote:

Voici le message de la console:

  lilypond scriabine-op16-no1.ly
GNU LilyPond 2.6.4
Processing `scriabine-op16-no1.ly'
Analyse...
Interprétation en cours de la musique...
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound[8]
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound[16]
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound[24]
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound[32]
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound
erreur de programmation: must have Item for spanner bound[40][43]
Pré-traitement des éléments graphiques...
Calcul des bris de lignes...
[3][6][9][12][15][18][21][24][27][30][33][36][39][42][44]
Interprétation en cours de la musique...
Sortie MIDI vers « scriabine-op16-no1.midi »...
Track...
Calculating page breaks...[7][12]
Layout output to `scriabine-op16-no1.ps'...
Conversion à « scriabine-op16-no1.pdf »...

S'il y a besoin, je peux fournir un fichier réduit de ma saisie. Mais je
ne sais par où je peux saisir le problème. Je suppose que c'est la 
superposition ryhmique des 2 voix qui engendre tous ces messages. Et je 
m'aperçois que je m'étais appliqué à bien superposer les 2 voix de la 
main gauche dans mon précédent courrier et que le "ténor"  s'est 
complètement déplacé!
Mais enfin, n'oublions pas le point positif : ça compile

Philippe

---

From: Gauvain Pocentek <[email-masked]>
Date: Wed, 08 Mar 2006 18:37:18 +0100

> Calcul des bris de lignes...
En cherchant un peu avec mon ami google, je n'ai trouvé que 4
références, liées à la musique vocale... Rien de très convaincant. Et
je n'avais jamais vu ce message d'erreur avant.
>
> S'il y a besoin, je peux fournir un fichier réduit de ma saisie.
Je peux essayer de compiler le fichier avec la version 2.7. Si le
problème disparaît c'est sans doute un bug de Lily.

Désolé de ne pas pouvoir apporter plus d'aide là dessus.

Gauvain

---

From: philippe hezaine <[email-masked]>
Date: Wed, 08 Mar 2006 20:09:18 +0100

Salut Gauvain
Tu as écrit:

Je te remercie de prèter attention à des difficultés comme celle-là.
Et ne te désole pas de ne pouvoir tout résoudre.
Je joins le fichier complet. Il sera pour Mutopia, mais j'aimerai bien 
assainir la compilation, si l'on peut.  Tout n'est pas achevé et la 
plupart des dynamics sont commentées pour éviter la surenchère.
Si tu as un petit peu de temps disponible, essaie avec la  2.7 et 
dis-moi ce qui se passe.
A bientôt.
 \version "2.6.4"

     \header {
       title = "Cinq Préludes "
       subtitle = "Opus 16"
       subsubtitle = "-----"
       composer = "A. Scriabine (1872-1915)"
       opus = "Opus 16 n°1"
       instrument = "N°1"
       copyright = "Creative Commons Attribution-ShareAlike 2.5"
     
       % These are headers used by the Mutopia Project
       % http://www.mutopiaproject.org/
       mutopiatitle = "Préludes opus 16"
       mutopiacomposer = "ScriabineA"
       mutopiaopus = "O 16 n°1"
       mutopiainstrument = "Piano"
       date = "composer's dates"
       source = "M.P.Belaïeff, Leipzig. 1897"
       style = "Romantic"
       copyright = "Creative Commons Attribution-ShareAlike 2.5"
       maintainer = "Philippe Hézaine"
       maintainerEmail = "[email-masked]"
       lastupdated = "2006/Mar/04"

 footer = "Mutopia-2006/01/"

tagline =  \markup { \override #'(box-padding . 1.0) \override #'(baseline-skip . 2.7) \box \center-align { \fontsize #-2 \line { Sheet music from \with-url #"http://www.MutopiaProject.org" \line { \fontsize #-3 www. \hspace #-1.0 MutopiaProject \hspace #-1.0 \fontsize #-3 .org \hspace #0.5 } • \hspace #0.5 \italic Free to download, with the \italic freedom to distribute, modify and perform. } \line { \fontsize #-2 \line { Typeset using \with-url #"http://www.LilyPond.org" \line { \fontsize #-3 www. \hspace #-1.0 LilyPond \hspace #-1.0 \fontsize #-3 .org } by \maintainer \hspace #-1.0 . \hspace #0.5 Copyright © 2005. \hspace #0.5 Reference: \footer } } \line { \fontsize #-4 \line { Licensed under the Creative Commons Attribution-ShareAlike 2.5 License, for details see: \hspace #-0.5 \with-url #"http://creativecommons.org/licenses/by-sa/2.5" http://creativecommons.org/licenses/by-sa/2.5  } } } }

     }

     upper = \relative c'' {
       \clef treble
       \key b \major
       \time 3/4
	\partial 8
	 \override TupletBracket #'number-visibility = ##f	
	\override TupletBracket #'transparent = ##t
	\once \override TextScript #'extra-offset = #'(-5 . 2)
	 r8^\markup { \bold "Andante" } \tempo 4=44 
	R2. |
	 R2. |
\break
	 gis'4\( fis8 e \times 2/3 {dis8[ cis dis]} |
	\times 2/3 {fis4 e8}\times 2/3 {dis8[ cis dis]} gis,4
	cis8 b \times 2/3 {gis8[ ais b]} dis cis
\break
	gis2 fis4\)
	cis''\( b8[ a!] \times 2/3 {gis8 fis gis}
\break
	\times 2/3 {b4 gis8} \times 2/3 {fis8[ e fis]} b,4
	e8[ dis] \times 2/3 {gis,8[ ais b]} dis8[ cis]
	b2.\)
\break
	\voiceOne
	<< {  \stemDown \times 2/3 {ais'8^-^\( gis^- ais^-} s4 \stemUp \times 2/3 {ais'8 gis ais}
	dis,4 cis8[ b] ais[ gis]
	s4 s4 \times 2/3 {gis'8 fis gis\)}
\break
	cis,4^\( b8[ a!] gis[ fis]
	\times 2/3 {gis8 fisis gis} b,4 g'!
	\times 2/3 {fis8 eis fis} b,4 dis\)
\break
	dis4^\( fis, b
	dis cis e,

 }
	\context Voice = "1" { \voiceTwo
	s4 dis'2^-
	b8\rest fis'8 eis[ dis] dis[ gis]
	\times 2/3 {gis8^-[ fis^- gis^-]} cis,2^-
	b8\rest e8 dis[ cis] b[ fis']
	<b, dis>4 dis, <b' dis>
	<b dis> dis, <eis b'>
	<fis b> dis dis
	e2 s4
	\oneVoice
	}

	gis'4\)^\( fis8 e \times 2/3 {dis8[ cis dis]} |
\break
	\times 2/3 {fis4 e8}\times 2/3 {dis8[ cis dis]} gis,4
	cis8 b \times 2/3 {gis8[ ais b]} \times 2/3 {dis4 cis8}
	gis2 fis4\)
\break
	cis''^\( b8[ a!] \times 2/3 {gis8 fis gis}
	\times 2/3 {b4 gis8} \times 2/3 {fis8[ e fis]} b,4\)
	cis^\( b8[ a!] \times 2/3 {gis8 fis gis}
\break
	\times 2/3 {b4 gis8} \times 2/3 {fis8[ e fis]} b,4\)
	fis'4^\( gis' b,
	ais cis' e,
\break
	dis fis' a,!
	gis b' e,\)
	g,! cis' fis,,
\break
	ais' e, g'!
	g,! cis fis,
	ais e g!
\break
	b,4\rest <c! g'!> <g! e'>
	<e c'!> <c! g'!> <g! e'>
	<e c'!> <e g! c> <e g! c>
\break
	<e g! c> <e g! c> <e g! c>
	<dis fis b dis>2.
	<dis fis b dis>2.~
	<dis fis b dis>2.
	R2.

     }
     
     lower = \relative c {
       \clef bass
       \key b \major
       \time 3/4
	\partial 8
	\voiceOne
	<< { \override TupletBracket #'number-visibility = ##f	
	      \override TupletBracket #'transparent = ##t
	s8
%mes 1
	\times 2/3 {s4.} \times 2/3 {b'4^- cis4^-} \times 2/3 { gis'8^- s8}
	\times 2/3 {s4.} \times 2/3 {b,4 cis4} \times 2/3 { gis'8 s8}
	\times 2/3 {s4.} \times 2/3 {b,4 cis4} \times 2/3 { gis'8 s8}
	\times 2/3 {s4.} \times 2/3 {b,4 cis4} \times 2/3 { gis'8 s8}
	\times 2/3 {s4.} \times 2/3 { b,4 cis4} \times 2/3 { gis'8 s8}
%mes 6
	\times 2/3 {s4.} \times 2/3 { gis,4 ais4} \times 2/3 { fis'8 s8}
	\times 2/3 {s4.} \times 2/3 { e4 fis4} \times 2/3 { cis'8 s8}
	\times 2/3 {s4.} \times 2/3 { cis,4 dis4} \times 2/3 { b'8 s8}
	\times 2/3 {s4.} \times 2/3 { cis,4 e4} \times 2/3 { gis8 s8}
	s2.
	\times 2/3 {s4.} \times 2/3 { gis4 b4} \times 2/3 { dis8 s8}
	s2.
	\times 2/3 {s4.} \times 2/3 { fis,4 a!4} \times 2/3 { cis8 s8}
	s2.
	s2.
	s2.
	s2.
	s2.
	\times 2/3 {s4.} \times 2/3 { b,4 cis4} \times 2/3 { gis'8 s8}
	\times 2/3 {s4.} \times 2/3 { b,4 cis4} \times 2/3 { gis'8 s8}
	\times 2/3 {s4.} \times 2/3 { b,4 cis4} \times 2/3 { gis'8 s8}
	\times 2/3 {s4.} \times 2/3 { gis,4 ais4} \times 2/3 { fis'8 s8}
	\times 2/3 {s4.} \times 2/3 { cis4 dis4} \times 2/3 { b'8 s8}
	\times 2/3 {s4.} \times 2/3 { cis,4 e4} \times 2/3 { b'8 s8}
	\times 2/3 {s4.} \times 2/3 { cis,4 dis4} \times 2/3 { b'8 s8}
	\times 2/3 {s4.} \times 2/3 { cis,4 e4} \times 2/3 { b'8 s8}
	\times 2/3 {s4.} \times 2/3 { b,4 cis4} \times 2/3 { gis'8 s8}
	\times 2/3 {s4.} \times 2/3 { gis,4 ais4} \times 2/3 { gis'8 s8}
	\times 2/3 {s4.} \times 2/3 { cis,4 dis4} \times 2/3 { cis'8 s8}
	\times 2/3 {s4.} \times 2/3 { cis,4 e4} \times 2/3 { b'8 s8}
	\times 2/3 {s4.} \times 2/3 { e,4 fis4} \times 2/3 { g!8 s8}
	\times 2/3 {s4.} \times 2/3 { e4 fis4} \times 2/3 { g!8 s8}
	\times 2/3 {s4.} \times 2/3 { e4 fis4} \times 2/3 { g!8 s8}
	\times 2/3 {s4.} \times 2/3 { e4 fis4} \times 2/3 { g!8 s8}
	s2.*8 } %fin de la 1ere voix

	s8
	\context Voice = "1" { \voiceTwo
	\override TupletBracket #'number-visibility = ##f	
	\override TupletBracket #'transparent = ##t
%mes 1
	\stemUp fis,,8\(
	\times 2/3 {b,8[ fis' cis']} \stemDown \times 2/3 {b'8[ gis cis]} \times 2/3 {e,[ gis'\) fis,,]\(}
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {b'8[ gis cis]}
 \times 2/3 {e, gis'\) fis,,\(}
\break
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {b'8[ gis cis]} 
\times 2/3 {e, gis'\) fis,,\(}
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {b'8[ gis cis]} 
\times 2/3 {e, gis'\) fis,,\(}
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {b'8[ gis cis]} 
\times 2/3 {e, gis'\) fis,,\(}
\break
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {gis'8[ fis ais]} \times 2/3 {e fis'\) fis,,\(}
	\stemUp \times 2/3 {b,8 b' fis'} \stemDown \times 2/3 {e'8[ cis fis]} \times 2/3 {a, cis'\) b,,\(}
	\stemUp \times 2/3 {b,8 b' fis'} \stemDown \times 2/3 {cis'8[ b dis]} \times 2/3 {a b'\) b,,\(}
	\stemUp \times 2/3 {cis,8 gis' e'} \stemDown \times 2/3 {cis'8[ gis e']} \times 2/3 {ais,! gis'\) gis,,\(}
	\stemUp \times 2/3 {gis,8 gis' dis'} \stemDown \times 2/3 {dis'8[ b gis']} \times 2/3 {dis gis,\) dis\(}
	\stemUp \times 2/3 {gis,8 dis' b'} \stemDown \times 2/3 {gis'8[ fis b]} \times 2/3 {dis, dis'\) b,\(}
\stemUp \times 2/3 {cis,8 b' cis} \stemDown \times 2/3 {gis'8[ gis, eis']} b'16 cis, b\) cis,\( ~
	\stemUp \times 2/3 {<fis, cis'>8 cis' a'!} \stemDown \times 2/3 {fis'8[ e a!]} \times 2/3 {cis, cis'\) a,\(}
	\stemUp \times 2/3 {b,8 a'! b} \stemDown \times 2/3 {fis'8[ fis, dis']} a'!16 b, a\) b,\(
	\stemUp \times 2/3 {e,8 b' b'~ } \stemDown \times 2/3 {b8[ b b,]} \times 2/3 {eis, dis' b'\) }
	\stemUp \times 2/3 {fis,8\( dis' b'~ } \stemDown \times 2/3 {b8[ b dis,]} \times 2/3 {g,! dis' b'\) }
	\stemUp \times 2/3 {fis,8\( dis' b'} \stemDown \times 2/3 {ais8[ gis fis]} \times 2/3 {gis fis b,\) }
	\stemUp \times 2/3 {fis,8\( fis' cis'} \stemDown \times 2/3 {ais'8[ gis fis]} b16 gis cis,\) fis,\(
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {b'8[ gis cis]} \times 2/3 {e, gis'\) fis,,\(}
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {b'8[ gis cis]} \times 2/3 {e, gis'\) fis,,\(}
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {b'8[ gis cis]} \times 2/3 {e, gis'\) fis,,\(}
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {gis'8[ fis ais]} \times 2/3 {e fis'\) fis,,\(}
	\stemUp \times 2/3 {b,8 b' fis'} \stemDown \times 2/3 {cis'8[ b dis]} \times 2/3 {a b'\) b,,\(}
	\stemUp \times 2/3 {b,8 b' gis'} \stemDown \times 2/3 {cis8[ b e]} \times 2/3 {gis, b'\) b,,\(}
	\stemUp \times 2/3 {b,8 b' fis'} \stemDown \times 2/3 {cis'8[ b dis]} \times 2/3 {a b'\) b,,\(}
	\stemUp \times 2/3 {b,8 b' gis'} \stemDown \times 2/3 {cis8[ b e]} \times 2/3 {gis, b'\) b,,\(}
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {b'8[ gis cis]} \times 2/3 {e, gis'\) fis,,\(}
	\stemUp \times 2/3 {b,8 fis' cis'} \stemDown \times 2/3 {gis'8[ fis ais]} \times 2/3 {e gis'\) fis,,\(}
	\stemUp \times 2/3 {b,8 fis' fis'} \stemDown \times 2/3 {cis'8[ b dis]} \times 2/3 {a! cis'\) b,,\(}
	\stemUp \times 2/3 {b,8 b' gis'} \stemDown \times 2/3 {cis8[ b e]} \times 2/3 {gis, b'\) b,,\(}
	\stemUp \times 2/3 {b,8 b' g'!} \stemDown \times 2/3 {e'8[ cis fis]} \times 2/3 {ais,! g'!\) b,,\(}
	\stemUp \times 2/3 {b,8 b' g'!} \stemDown \times 2/3 {e'8[ cis fis]} \times 2/3 {ais,! g'!\) b,,\(}
	\stemUp \times 2/3 {b,8 b' g'!} \stemDown \times 2/3 {e'8[ cis fis]} \times 2/3 {ais,! g'!\) b,,\(}
	\stemUp \times 2/3 {b,8 b' g'!} \stemDown \times 2/3 {e'8[ cis fis]} \times 2/3 {ais,! g'!\) b,,\(}
	\stemUp \times 2/3 {b,8 b' g'!} \stemDown \times 2/3 {e'8[ ais,! c!]} \times 2/3 {ais e c!}
	\times 2/3 {ais'8 e g,!} \stemUp b,4\) r4
	r4 <b g'! c!>4 <b g'! c!>
	<b g'! c!> <b g'! c!> <b g'! c!>
	<b fis' b>2.
	<b fis' b>2.
	#(set-octavation -1) \set Staff.ottavation = #"8"
	b,2. ~ 
	b2 #(set-octavation 0) r4 \bar "|."
	\oneVoice
     } >>

     }
     
     dynamics = { 

       s8\mf
	s2.
	s2  s8 s8\pp %\times 2/3 {s8 s8 s8\pp}
	s2.
	s2 s8 s8\<
	s16 s16\! s16\> s16 s16\! s16 s4.
	s2.*2   
	s2.*35 }
%ATTENTION!!!!!!!!!!!!!!!
%{
	s2.\mf
	s2.*2
	s2.\p
	s2.\p
	s16\< s8 s16\! s8\> s8 s8 s8\!
	s2 \once \override DynamicText #'extra-offset = #'(-1 . 3.5) s4\pp
	s2.*3
	s2.\f
	s2.
	s2.\pp
	s2.*3
	\once \override DynamicText #'extra-offset = #'(0.1 . 3.5) s4\mf \once \override DynamicText #'extra-offset = #'(-1 . 0) s4\pp s4
	s2.
	\once \override DynamicText #'extra-offset = #'(0.1 . 3.5) s2.\pp
	s2.*5
	s2.\f
	s2.*2
	s2.\p
	s2.*2
	s4 s2\pp
	s2.
	s2.\ppp
	s2.*3    %\bar "|." 
     }
                   %} %  ATTENTION §§§§§§§§§§
     
     \score {
       \context PianoStaff <<
         \context Staff=upper \upper
         \context Dynamics=dynamics \dynamics
         \context Staff=lower <<
           \clef bass
           \lower

       \layout {
	raggedlast = ##f
         \context {
           \type "Engraver_group_engraver"
           \name Dynamics
           \alias Voice % So that \cresc works, for example.
           \consists "Output_property_engraver"
     
           minimumVerticalExtent = #'(-5 . 5)
           \consists "Script_engraver"
           \consists "Dynamic_engraver"
           \consists "Text_engraver"
     
           \override TextScript #'font-size = #2
           \override TextScript #'font-shape = #'italic
           \override DynamicText #'extra-offset = #'(0 . 2.5)
           \override Hairpin #'extra-offset = #'(0 . 2.5)
     
           \consists "Skip_event_swallow_translator"
     
           \consists "Axis_group_engraver"
         }
         \context {
           \PianoStaff
           \accepts Dynamics
           \override VerticalAlignment #'forced-distance = #6
         }
       }
     }
     \score {
       \context PianoStaff <<
         \context Staff=upper  \upper \dynamics

         \context Staff=lower << \lower \dynamics

       \midi {
	\tempo 4=40
         \context {
           \type "Performer_group_performer"
           \name Dynamics
         }
	
         \context {
           \PianoStaff
           \accepts Dynamics
         }
       }
     }

---

From: Gauvain Pocentek <[email-masked]>
Date: Fri, 10 Mar 2006 20:03:39 +0100

Salut Philippe,

J'ai essayé de compiler ton fichier avec la version 2.7, même erreur,
mais je pense avoir trouvé une solution. Elle me paraît convenable...

J'ai simplement remplacer les lignes du genre :

par :

\times 2/3 {s4. b'4^- cis4^- gis'8^- s8}

Le problème (je pense) est que Lily ne trouvait pas de notes sur
lesquelles accrocher les crochets des triolets (même s'il ne sont pas
affichés).

Bon courage pour changer tout ça (si la solution te convient) !

Gauvain

---

From: philippe hezaine <[email-masked]>
Date: Fri, 10 Mar 2006 22:40:43 +0100

Gauvain a ecrit:

Et encore une fois: formidable Gauvain! Et bientôt un nouveau Scriabine 
sur Mutopia!
Et cela a été un jeu d'enfant que de corriger le fichier.
Il me fallait considérer dans chaque mesure les trois triolets de la 
1ère voix comme les trois divisions d'un "super-triolet" de noires 
pointées que représente la 2ème voix. Euréka! ( Les généralités ... 
c'est pour les militaires.)
J'avais essayé une autre subdivision qui me donnait le même résultat à 
la console:
\times 2/3 {s4.} \times 4/6 {b'4^- cis4^- gis'8^- s8}
Je n'avais pas pensé à un 2/3 qui engloberait toute la mesure.
Encore et encore mille bravos et mille mercis, Gauvain.
Quel plaisir que de découvrir au fur et à mesure toute la flexibilité et 
l'intelligence de Lilypond.
Je commence à envisager l'installation d'une version 2.7.x mais je ne 
sais pas si je suis à la hauteur pour assurer cette installation.
Et tout d'abord, est-ce que je pourrai conserver et utiliser en même 
temps la 2.6.4 sans aucun inconvénient ou problèmes de dépendances?
J'ai un /usr/local dans mon partitionnement mais je n'ai jamais approché 
le cvs. Où puis-je trouver des informations claires et précises pour 
évaluer la difficulté ?
Merci d'avance.

---

From: Gauvain Pocentek <[email-masked]>
Date: Mon, 13 Mar 2006 17:10:54 +0100

philippe hezaine wrote:
> J'ai un /usr/local dans mon partitionnement mais je n'ai jamais
> approché le cvs. Où puis-je trouver des informations claires et
> précises pour évaluer la difficulté ?
Si je me souviens bien tu utilises FC4. Des rpms sont faits par Jan et
Han-Wen, donc l'installation ne devrait pas poser de problèmes.
J'ai 2 versions de lilypond, la 2.6.5 (.deb disponible pour ubuntu) et
la 2.7.x, compilée et installée dans /usr/local, donc c'est possible de
les faire cohabiter, mais je n'ai aucune idée de la manière de faire sur
Fedora. John pourra peut-être t'en dire plus.

La version 2.8 devrait arriver très vite maintenant, mieux vaut
peut-être l'attendre ;)

Gauvain

---

From: John Mandereau <[email-masked]>
Date: Mon, 13 Mar 2006 22:00:37 +0100

> Han-Wen, donc l'installation ne devrait pas poser de problèmes.

Ce n'est plus vrai depuis la version 2.7 : les GUBs ont remplacé à la
fois les autopackages et les RPMs. Sous FC4, c'est une bonne chose :
installer une version récente de Ghostscript relève du casse-tête.

Il n'est pas nécessaire de compiler Lily à partir des sources cvs pour
profiter à la fois des versions stable et de développement. Voici ma
méthode :
      * la version stable est installée dans /usr avec le RPM
      * la version de développement est installée et utilisée dans un
        compte utilisateur créé spécialement pour ça ("lilydevel" par
        exemple), pour lequel la version de développement installée avec
        GUB dans /home/lilydevel "masque" la version stable,
        car /home/lilydevel/bin est situé avant /usr/bin dans le PATH.

Cette combine marche bien et est tout à fait sûre, du moment que l'on
installe la version de développement non pas comme root, mais comme
simple utilisateur. Si installer quelque chose dans /home/ ne te plaît
pas, tu peux toujours créer un répertoire /usr/local/lilydevel, dont
l'utilisateur propriétaire est lilydevel et est le seul à pouvoir
écrire, puis appeler le script avec pour préfixe le répertoire créé, et
rajouter ce répertoire dans le PATH de lilydevel.

> La version 2.8 devrait arriver très vite maintenant, mieux vaut
Pas si vite :-), il reste d'après le bugmeister 6 bugs connus à
corriger...

Bien cordialement,
-- 
John Mandereau <[email-masked]>