Subject: Lilypond 2.10.33 sous Lenny et "allow-span-bar"

From: Philippe Neyrat <[email-masked]>
Date: Wed, 28 Sep 2011 11:29:05 +0200

Bonjour à tous,

J'utilise Lilypond 2.10.33 sous Debian Lenny, car l'upgrade à Squeeze 
n'a pas fonctionné correctement et me pose plus de problèmes qu'il n'en 
résoud.

Quoique pas encore très affuté à Lilypond, j'ai réussi à écrire une 
petite page de chant choral avec quatre voix, chacune sur sa portée, 
avec les paroles pour chaque voix, les couplets en fin de partition et 
tout et tout.

Malgré que j'ai cherché partout dans la doc de cette version, je n'ai 
pas réussi à faire en sorte que les barres de mesure se limitent à 
chaque portée. En effet, j'ai beau déplacer mes :

		\once \override Staff.SpanBar #'allow-span-bar = ##f
		\once \override Staff.BarLine #'allow-span-bar = ##f
(avec ou sans \once)

dans mes variables, ou dans les \with concernant les Staffs ou le 
StaffGroup, rien n'y fait, mes barres de mesure sont prolongées entre 
les portées et viennent polluer les paroles quand les mots sont longs...

Je ne sais pas si c'est un bug, mais a m'étonnerait.

Bien sûr, on va me dire "Installe la dernière version, compile-la toi 
même.", mais ça ne me convient pas, car sous Lenny, c'est la version de 
Lylipond qui est dans les dépôts de cette distribution.

Je passe en pièce jointe le fichier, dans lequel j'ai remplacé les 
paroles par des "La la la", car c'est une chanson paillarde au verbe 
assez leste...
... et je ne voudrais pas choquer vos délicates personnes...

;-)

J'ajoute le pdf aussi.

Pouvez-vous me dire où j'ai fait une erreur ?
Et accessoirement, si c'est bien organisé au niveau écriture...

Merci.

Philippe
\version "2.10.33"
\include "italiano.ly"

\header {
        title = "Charlotte"
        composer = "Harmonisation : André Huber"
} % header

SopranoMusic = \relative do' 
	{
		\time 6/8
		\clef treble
		\key sol \minor
		\set Staff.instrumentName = #"Soprano"
		\set Staff.shortInstrumentName = #"S."
		\override Staff.VerticalAxisGroup #'Y-extent = #'(1.0 . 0.0)
		\once \override Staff.SpanBar #'allow-span-bar = ##f
		\once \override Staff.BarLine #'allow-span-bar = ##f

		fa8 sib re fa, sib re                          |
		fa, sib re re4\rtoe do8                        |
		fa, la do fa, la do                            |
		fa\staccato fa\staccato mib\staccato re4.      \break
		fa,8 sib re fa, sib re                         |
		fa, sib re re4 do8                             |
		fa, la do fa, la do                            |
		fa mib do sib4.\fermata                        \break
		re4( sib8) re4( sib8)                          |
		re\staccato mib\staccato re\staccato re4( do8) |
		do4( la8) do4( la8)                            |
		fa' fa mib re4 r8                              \break
		re4( sib8) re4( sib8)                          |
		re\staccato mib\staccato re\staccato re4( do8) |
		do4( la8) do4( la8)                            |
		fa' mib do sib4.\fermata                       \bar "|."
	} % SopranoMusic
	
AltoMusic = \relative do'
	{
		\time 6/8
		\clef treble
		\key sol \minor
		\set Staff.instrumentName = #"Alto"
		\set Staff.shortInstrumentName = #"A."
		\once \override Staff.SpanBar #'allow-span-bar = ##f
		\once \override Staff.BarLine #'allow-span-bar = ##f

		fa8 fa fa fa fa fa         |
		fa fa fa sib4 fa8          |
		fa fa fa fa fa fa          |
		fa fa fa fa4.              \break
		fa8 fa fa fa fa fa         |
		fa r8 fa solb4 fa8         |
		fa fa fa fa fa fa          |
		fa fa mib re4.             \break
		r8 sib'( sib) r8 sib( sib) |
		fa( fa sib) sib4 la8(      |
		la) la([ la)] r8 la( la)   |
		fa sol la sib4 r8          \break
		r8 fa( sib) r8 fa( sib)    |
		sib do sib sib4 la8        |
		r8 la( la) r8 la( la)      |
		la sol la sib4.            \bar "|."
	} % AltoMusic
	
TenorMusic = \relative do' 
	{
		\time 6/8
		\clef treble
		\key sol \minor
		\set Staff.instrumentName = #"Ténor"
		\set Staff.shortInstrumentName = #"T."
		\once \override Staff.SpanBar #'allow-span-bar = ##f
		\once \override Staff.BarLine #'allow-span-bar = ##f

		fa8 sib re fa, sib re                          |
		fa, sib re re4 do8                             |
		fa, la do fa, la do                            |
		fa\staccato fa\staccato mib\staccato re4.      \break
		fa,8 sib re fa, sib re                         |
		fa, sib re re4 do8                             |
		fa, la do fa, la do                            |
		fa mib do sib4.                                \break
		re4( sib8) re4( sib8)                          |
		re\staccato mib\staccato re\staccato re4( do8) |
		do4( la8) do4( la8)                            |
		fa' fa mib re4 r8                              \break
		re4( sib8) re4( sib8)                          |
		re\staccato mib\staccato re\staccato re4( do8) |
		do4( la8) do4( la8)                            |
		fa' mib do sib4.                               \bar "|."
	} % TenorMusic

BassMusic = \relative do' 
	{
		\time 6/8
		\clef bass
		\key sol \minor
		\set Staff.instrumentName = #"Basse"
		\set Staff.shortInstrumentName = #"B."
		\once \override Staff.SpanBar #'allow-span-bar = ##f
		\once \override Staff.BarLine #'allow-span-bar = ##f

		sib8 re, fa sib re, fa          |
		sib sib, re fa4 fa8             |
		la do, mib la fa fa             |
		fa sol la sib4.                 \break
		sib8 re, fa re' re, fa          |
		sib r8 fa sib4( sib8)           |
		la do( do,) fa fa fa            |
		fa sol la sib4.                 \break
		sib4( sib,8) sib'4( sib,8)      |
		sib' sib sib fa4 fa8            |
		fa'4( fa,8) fa'4( fa,8)         |
		fa4. sib8 fa re                 \break
		sib sib'[( sib,)] sib'4( sib,8) |
		fa'8 fa fa fa4 fa8              |
		fa'4( fa,8) fa'4( fa,8)         |
		fa fa fa sib,4.                 \bar "|."
	} % BassMusic

ParolesSopranoTenor = \lyricmode {
	\set ignoreMelismata = ##t
	La la la la la la la la la la la
	La la la la la la la la la la,
	La la la la la la la la la la la,
	La la la la la la la la la la.
	La la, la la, la la la la la
	La la, la la, la la la la
	La la, la la, la la la la la
	La la, la la, la la la la
	\unset ignoreMelismata
} % ParolesSopranoTenor

ParolesAlto = \lyricmode {
	\set ignoreMelismata = ##t
	La la la la la la la la la la la
	La la la la la la la la la la,
	La la la la la la la la la la la,
	La la la la la la la la la la.
	La la, la la, la la la la la la
	La la, la la, la la la la
	La la, la la, la la la la la
	La la, la la, la la la la
	\unset ignoreMelismata
} % ParolesAlto

ParolesBasse = \lyricmode {
	\set ignoreMelismata = ##t
	La la la la la la la la la la la
	La la la la la la la la la la,
	La la la la la la la la la la,
	La la la la la la la la la la.
	La la, la la, la la la la la
	La la, la la, la la la la
	La la, la la, la la la la la
	La la, la la, la la la la
	\unset ignoreMelismata
} % ParolesBasse

\score {
		\new StaffGroup
		\with {
			\override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #1
		} % with
		<<
			\new Staff { \new Voice = "Sopranos" { \SopranoMusic } }
			\new Lyrics = "Sopranos"
			
			\new Staff { \new Voice = "Altos"    { \AltoMusic } }
			\new Lyrics = "Altos"
			
			\new Staff { \new Voice = "Tenors"   { \TenorMusic } }
			\new Lyrics = "Tenors"
			
			\new Staff { \new Voice = "Basses"   { \BassMusic } }
			\new Lyrics = "Basses"
			
			\context Lyrics = "Sopranos" {
				\lyricsto "Sopranos" {
					\ParolesSopranoTenor
				}
			}
			\context Lyrics = "Altos" {
				\lyricsto "Altos" {
					\ParolesAlto
				}
			}
			\context Lyrics = "Tenors" {
				\lyricsto "Tenors" {
					\ParolesSopranoTenor
				}
			}
			\context Lyrics = "Basses" {
				\lyricsto "Basses" {
					\ParolesBasse
				}
			}
		\layout {
		\context {
			\Score
			%\override StaffGrouper #'staff-staff-spacing #'padding = #0
			%\override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
			} % context Score
		} % layout
} % score

\markup {
  \fill-line {
    \hspace #0.1 % décalage par rapport à la marge de gauche
     \column {
      \line { \bold "2. "
        \column {
          "La la,"
          "La la"
          "La la,"
          "La la"
        }
      }
      \hspace #10.5 % ajout d'espace vertical entre les couplets
      \line { \bold "3. "
        \column {
          "La la,"
          "La la"
          "La la,"
          "La la"
        }
      }
      \hspace #10.5 % ajout d'espace vertical entre les couplets
      \line { \bold "4. "
        \column {
          "La la,"
          "La la"
        }
      }
    }
    \hspace #2.5  % ajout d'espace horizontal entre les colonnes
     \column {
      \line { \bold "5. "
        \column {
          "La la,"
          "La la"
          "La la,"
          "La la"
        }
      }
      \hspace #10.5 % ajout d'espace vertical entre les couplets
      \line { \bold "6. "
        \column {
          "La la,"
          "La la"
        }
      }
    }
  \hspace #0.1 % décalage par rapport à la marge de droite
  }
}

---

From: Xavier Scheuer <[email-masked]>
Date: Wed, 28 Sep 2011 12:36:32 +0200

2011/9/28 Philippe Neyrat <[email-masked]>:
>
> Bonjour à tous,
>
> J'utilise Lilypond 2.10.33 sous Debian Lenny, car l'upgrade à Squeeze n'a
> pas fonctionné correctement et me pose plus de problèmes qu'il n'en résoud.
>
> Quoique pas encore très affuté à Lilypond, j'ai réussi à écrire une petite
> page de chant choral avec quatre voix, chacune sur sa portée, avec les
> paroles pour chaque voix, les couplets en fin de partition et tout et tout.
>
> Malgré que j'ai cherché partout dans la doc de cette version, je n'ai pas
> réussi à faire en sorte que les barres de mesure se limitent à chaque
> portée. En effet, j'ai beau déplacer mes :
>
> StaffGroup, rien n'y fait, mes barres de mesure sont prolongées entre les
> portées et viennent polluer les paroles quand les mots sont longs...

Pourquoi ne pas utiliser un  ChoirStaff  plutôt qu'un  StaffGroup  ?
C'est fait pour ça (musique vocale + paroles) et cela correspond tout
à fait à ce que tu recherches (les barres de mesure se limitent à
chaque portée).

> Lylipond qui est dans les dépôts de cette distribution.

Oui mais non.
Pas besoin de compiler, les développeurs ont prévu un script sh qui
se charge d'installer LilyPond.  Tout ce qui est nécessaire à LilyPond
est compris dedans (donc pas à se soucier de dépendances, etc.).

Facile, essaie (parce que 2.10.33 ça date de quelques années).

> Je passe en pièce jointe le fichier, dans lequel j'ai remplacé les paroles
> par des "La la la", car c'est une chanson paillarde au verbe assez leste...

Pas mal !

Le système d'espacement vertical a changé entre la 2.12 (2.10) et 2.14
(au cas où tu te déciderais à installer la dernière version stable 2.14)
donc le  \override Staff.VerticalAxisGroup #'Y-extent = #'(1.0 . 0.0)
devrait être remplacé.

Les  \override StaffGrouper #'staffgroup-staff-spacing
ne doivent être d'aucun effet avec la version 2.10.33 !
Cette fonctionnalité a été ajoutée lors de l'implémentation du nouveau
système d'espacement vertical et n'est valable que pour les versions
>=2.14.

Cordialement,
Xavier

-- 
Xavier Scheuer <[email-masked]>

---

From: Le Piaf <[email-masked]>
Date: Wed, 28 Sep 2011 15:40:23 +0200

> à fait à ce que tu recherches (les barres de mesure se limitent à
Ah, ben voilà... C'était si simple.

> Facile, essaie (parce que 2.10.33 ça date de quelques années).
Je sais, et je m'attendais à ce conseil. J'ai commencé sous etch, et il 
me semble que c'était déjà la 2.10.33.
Par contre, je ne m'explique pas qu'une version plus récente ne soit pas 
encore dans les dépôts de Lenny.
Les développeurs de Debian pourraient considérer la 2.12 (au moins) 
comme stable...
Attendons, donc.
> ne doivent être d'aucun effet avec la version 2.10.33 !
Exact, j'ai eu beau les déplacer, les modifier, l'espacement est 
toujours le même...
Je vais essayer de déplacer tout ça pour aérer un peu, mais ça me semble 
un peu difficile,
tant il y a de portées.

Et puis j'essaierai d'installer la 2.14.
Une dernière chose : l'utilisation de Jedit est vraiment confortable.

Merci !

Philippe