Subject: re: changement de \time

From: Martial <[email-masked]>
Date: Tue, 29 Apr 2008 00:00:54 +0200

Bonjour

trouvé sur LSR
à mettre par exemple dans le global ou dans la portée

\set Staff.explicitKeySignatureVisibility = #end-of-line-invisible

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.11.45"

\relative c' {
\set Staff.explicitKeySignatureVisibility = #end-of-line-invisible
\repeat unfold 4 {  c c c c }
\break
\key c \minor
\repeat unfold 4 {  c c c c }
\unset Staff.explicitKeySignatureVisibility
\break
\key c \major
\repeat unfold 4 {  c c c c }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

-- 
Martial

---

From: "Valentin Villenave" <[email-masked]>
Date: Tue, 29 Apr 2008 00:20:43 +0200

>  \set Staff.explicitKeySignatureVisibility = #end-of-line-invisible

Hihihi, j'en connais un qui a posté trop vite... :-)

Le 25 avril 2008 09:21, Daniel Cartron <[email-masked]> a écrit :
>  Quand je change la valeur de time en cours de morceau

Aaallez, encore une fois :

Le 25 avril 2008 09:21, Daniel Cartron <[email-masked]> a écrit :
>  Quand je change la valeur de time en cours de morceau

Encore ?

Le 25 avril 2008 09:21, Daniel Cartron <[email-masked]> a écrit :
>  Quand je change la valeur de time en cours de morceau

Bon, j'arrête :-)

Daniel : poste-nous du code qui "le fait pas", on te dira pourquoi ça
le fait pas.

Cordialement,
Valentin

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 29 Apr 2008 08:31:31 +0200

> Hihihi, j'en connais un qui a posté trop vite... :-)

Pas tant que çà, ça marche très bien pour ne pas afficher les changements 
d'armure, mais pas les changements de mesure. J'ai essayé de remplacer Key 
par Time pour voir mais il ne connait pas...

> Daniel : poste-nous du code qui "le fait pas", on te dira pourquoi ça

Bon voilà :

\include "italiano.ly"

\header
{
	title = "Ah ! Dites moi don'"
	subtitle = "Marche"
	composer = "Traditionnel"
	tagline = "                                                 "
	}

Chant = \relative sol'
{
	\clef treble
	\key sol \major
	\time 6/8

\partial 8
		re8

\repeat volta 2
	{
		sol4 fad8 mi fad sol
		la8 sol la sol fad re
		sol4 fad8 mi fad sol
	}

\alternative 
	{
		{
		la4. sol4 re8
		}

		{
		la'4. sol4.
		}
	}

\bar "||:"

\break
	\time 2/4

\repeat volta 2
	{
		re8 sol fad sol
		la8 si la sol
		re8 sol fad sol
		la4 re
		re,8 sol fad sol
		la8 si la sol
		re8 sol la fad
		sol2
	}

\bar ":|:"

}

\score
	{
		<<

			\new Voice = "one"
			{
				\Chant
			}

		\layout
			{
				\context
				{
					\Score
					\remove "Bar_number_engraver"
				}

				indent = 0\mm
			}
			
	}

	\score 
		{
			\unfoldRepeats
			\Chant
			\midi
				{
				\context { \Score }
				}
		}

#(define myStaffSize 16)
#(set-global-staff-size myStaffSize)

\paper {
	paper-width = 171\mm
	paper-height = 95\mm
	line-width = 160\mm
	#(define fonts
		(make-pango-font-tree "Liberation Sans"
			"Liberation Sans"
			"Liberation Mono"
			(/ myStaffSize 20)
			)
			)
	}

\version "2.11.20"

-- 
Cordialement, Daniel Cartron
« Il y a trois choses que chaque personne doit faire dans sa vie : planter un 
arbre, avoir un enfant et écrire un livre. »
José Marti

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 29 Apr 2008 10:12:54 +0200

> >  \set Staff.explicitKeySignatureVisibility = #end-of-line-invisible

J'ai fini par trouver. Google est puissant mais encore faut-il savoir ce qu'il 
faut chercher...

\override Staff.TimeSignature #'break-visibility = #end-of-line-invisible

Merci à tous.

-- 
Cordialement, Daniel Cartron
« La liberté consiste moins à faire sa volonté qu'à ne pas être soumis à celle 
d'autrui. »
Jean-Jacques Rousseau - Discours sur l'inégalité

---

From: Ledocq-Boccart <[email-masked]>
Date: Tue, 29 Apr 2008 10:47:09 +0200

Bonjour,

C'est très intéressant et bravo pour vos efforts.
Mais en clair, finalement, la solution, c'est quoi? Et où le placer?

Merci à tous

Charlie

---

From: "Valentin Villenave" <[email-masked]>
Date: Tue, 29 Apr 2008 11:03:37 +0200

>  Mais en clair, finalement, la solution, c'est quoi? Et où le placer?

http://lists.gnu.org/archive/html/lilypond-user-fr/2008-04/msg00081.html

> > J'ai fini par trouver. Google est puissant mais encore faut-il savoir ce
> qu'il faut chercher...

http://lists.gnu.org/archive/html/lilypond-user-fr/2008-04/msg00081.html

(soupir...)

Valentin

---

From: "Valentin Villenave" <[email-masked]>
Date: Tue, 29 Apr 2008 11:05:48 +0200

>  http://lists.gnu.org/archive/html/lilypond-user-fr/2008-04/msg00081.html

Ah oui, j'aurais dû préciser que cela intervient dans le contexte
Staff. Vous pouvez aussi le préciser dans le contexte Score pour que
cela s'applique à toutes les portées.

\override Score.TimeSignature #'break-visibility = #end-of-line-invisible

ou bien

\new Staff \with {
  \override TimeSignature #'break-visibility = #end-of-line-invisible
}

ou bien encore

\layout {
  \context {
    \Staff
    \override TimeSignature #'break-visibility = #end-of-line-invisible
  }
}

Valentin

---

From: Ledocq-Boccart <[email-masked]>
Date: Tue, 29 Apr 2008 11:12:57 +0200

Super...!
Merci.
Charlie

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 29 Apr 2008 12:03:12 +0200

> cela s'applique à toutes les portées.

J'ai beau essayer les différentes solutions ça ne marche décidement pas, je 
pense que c'est parce que je n'utilise pas \Staff... Va falloir que je 
potasse pour voir à quoi ça sert. En fait j'ai tout simplement recopié le 
modèle D14 sur 
http://lilypond.org/doc/v2.10/Documentation/user/lilypond/Single-staff#Single-staff

Donc dans mon fichier il suffit de mettre l'instruction juste devant la 
nouvelle indication de time :

Et idem pour les changements d'armure. Je pense que du coup Le fonctionnement 
sera ponctuel et non global, mais ça me suffit.

Ceci dit j'ai trouvé ça par hasard sur un site de clarinettes, et j'arrive pas 
à trouver dans la doc de lilypond, pourtant ça doit bien y être ?... J'ai 
seulement trouvé :

break-visibility (vector):
#(#t #t #t) 
A vector of 3 booleans, #(end-of-line unbroken begin-of-line). #t means 
visible, #f means killed. 

sur 
http://lilypond.org/doc/v2.10/Documentation/user/lilypond-internals/TimeSignature#TimeSignature
mais pour ce qui est de comprendre la syntaxe... Je suppose que c'est la mm 
pour toutes ces commandes, et ça a l'air de suivre une logique propriété 
d'objet. Mais c'est qd mm sacrément trapu...Je ne fais absolument pas le lien 
entre la commande donnée et les explications de la doc.

-- 
Cordialement, Daniel Cartron
« Lorsqu'un diplomate dit oui, cela signifie peut-être. Lorsqu'il dit
peut-être, cela veut dire non... et quand il dit non, cela veut dire que ce
n'est pas un diplomate. »
H. L. Mencken

---

From: "Valentin Villenave" <[email-masked]>
Date: Tue, 29 Apr 2008 12:47:16 +0200

Le 29 avril 2008 12:03, Daniel Cartron <[email-masked]> a écrit :

>  J'ai beau essayer les différentes solutions ça ne marche décidement pas,

1) Fais-nous voir ton code :-)

2) Je soupçonne un histoire de 2.10/2.11 ; peux-tu essayer la dernière
version de développement ?

Cordialement,
Valentin

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 29 Apr 2008 12:56:06 +0200

\include "italiano.ly"

\header
	{
	title = "La Berquillouse"
	subtitle = "Polka"
	composer = "Bordois"
	tagline = "                                                 "
	}

Chant = \relative si'
{
	\clef treble
	\key sol \major
	\time 2/4

\repeat volta 2
	{
		si8 si si16 la si do
		re8 re re16 do si la
		sol8 fad16 sol la sol fad8
	}

\alternative 
	{
		{
		mi4 re
		}

		{
		sol4 sol
		}
	}

\bar "||:"

\break

	\key re \major

\repeat volta 2
	{
		re16 mi fad sol la8 la
		si8 la re dod
		si4 la
		si16 la sol fad mi re mi fad
	}

\alternative 
	{
		{
		sol16 fad sol la fad8 mi
		}

		{
		sol16 la si dod re4
		}
	}

\bar "|."

}

\score
	{
		<<
			\new Voice = "one"
			{
				\Chant
			}
		\layout
			{
				\context
				{
					\Score
			
	}

	\score 
		{
			\unfoldRepeats
			\Chant
			\midi
				{
				\context { \Score }
				}
		}

#(define myStaffSize 16)

\paper {
	paper-width = 171\mm
	paper-height = 95\mm
	line-width = 160\mm
	#(define fonts

\version "2.11.20"

> version de développement ?

Celle que j'utilise est suffisante ?

Merci de me suggérer une autre façon de structurer mes fichiers si c'est pas 
bon. Je dois préciser qu'ici j'ai nettoyé le code mais que j'ai normalement  
ça aussi

Paroles = \lyricmode
{bla bla}
Accords = \chordmode
{a b c d}

et mon score contient 

%			\new ChordNames
%			{
%				\set chordChanges = ##f
%				\Accords
%			}
%			\new Lyrics
%			\lyricsto "one"
%			\Paroles

que je décommente au besoin.

-- 
Cordialement, Daniel Cartron
« Quand on a oublié d'acheter du sucre, on peut parfaitement sucrer son café 
avec une betterave, mais c'est plus long. »
François Cavanna - Le saviez-vous ?

---

From: "Valentin Villenave" <[email-masked]>
Date: Tue, 29 Apr 2008 13:05:00 +0200

>         \set Staff.explicitKeySignatureVisibility = #end-of-line-invisible

Je ne comprends pas du tout ; tu nous parles de \time ou de \key ?

Dans ton fichier il n'y a qu'un seul chiffre de mesure...

>  Celle que j'utilise est suffisante ?

Oui, tout à fait. Je mettrais la ligne de version en haut du fichier,
pour plus de clarté...

Valentin

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 29 Apr 2008 13:14:24 +0200

> Dans ton fichier il n'y a qu'un seul chiffre de mesure...

ooops oui mais en fait c'est la mm chose. en voici un qui est bon

\include "italiano.ly"

\header
{

Chant = \relative sol'
{
	\clef treble
	\key sol \major
	\time 6/8

\partial 8
		re8

\repeat volta 2
	{
		sol4 fad8 mi fad sol
		la8 sol la sol fad re
		sol4 fad8 mi fad sol
	}

\alternative 
	{
		{
		la4. sol4 re8
		}

		{
		la'4. sol4.
		}
	}

\bar "||:"

\break

\repeat volta 2
	{
		re8 sol fad sol
		la8 si la sol
		re8 sol fad sol
		la4 re
		re,8 sol fad sol
		la8 si la sol
		re8 sol la fad
		sol2
	}

\bar ":|:"

}

\score
	{
		<<

			\new Voice = "one"
			{
				\Chant
			}

		\layout
			{
				\context
				{
					\Score

				indent = 0\mm
			}
			
	}

	\score 
		{
			\unfoldRepeats
			\Chant
			\midi
				{
				\context { \Score }
				}
		}

#(define myStaffSize 16)

\paper {
	paper-width = 171\mm
	paper-height = 95\mm
	line-width = 160\mm
	#(define fonts

\version "2.11.20"

> Oui, tout à fait. Je mettrais la ligne de version en haut du fichier,

Ben j'ai viré en fin tout ce qui n'est pas purement obligatoire au début de 
façon à devoir moins scroller avant de commencer la saisie dans mon modèle, 
et la relecture. C'est ma vision perso de la clarté ;-)

Au passage je suis retourné voir les diffétrents modèles proposés sur le site 
et je vois qu'une fois sur deux il y a Staff et sinon Voice... Il y a une 
différence importante ou c'est équivalent ?

-- 
Cordialement, Daniel Cartron
« On ne peut ruiner que celui qui fut riche
Et l'on ne peut tromper que celui qu'on aima... »
Francis Blanche - Mon oursin et moi

---

From: "Valentin Villenave" <[email-masked]>
Date: Tue, 29 Apr 2008 13:56:30 +0200

>  et la relecture. C'est ma vision perso de la clarté ;-)

Pourquoi pas, après tout :)

>  différence importante ou c'est équivalent ?

Un contexte Staff peut contenir plusieurs Voice.

Si tu tapes seulement

{a b c }

LilyPond rajoutera automatiquement :

\new Staff {
  \new Voice {
    a b c
  }
}

Si tu tapes
\new Staff {a b c }

LilyPond rajoutera automatiquement un contexte Voice à l'intérieur :

\new Staff {
  \new Voice {
    a b c
  }
}

Si tu tapes
\new Voice {a b c }

LilyPond l'incluera automatiquement dans un contexte Staff  :

\new Staff {
  \new Voice {
    a b c
  }
}

Au fait, le code que tu viens d'envoyer marche très bien ; le chiffre
de mesure n'est pas imprimé en fin de ligne...

Valentin

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 29 Apr 2008 14:23:47 +0200

> Un contexte Staff peut contenir plusieurs Voice.

HA ok je pige. Donc pour mes partitions Voice suffit. Donc le contexte à 
utiliser en général pour ce genre de commande est Score ?

> de mesure n'est pas imprimé en fin de ligne...

Oui c'est ce que j'ai écrit dans un précédent mail, mais par contre les autres 
syntaxes que tu as proposé depuis le début de ce fil ne marchent pas, ce que 
je dis depuis le début aussi, et finalement après maintes recherches j'ai pas 
réussi à utiliser ce truc sauf de cette façon.

---

From: "Valentin Villenave" <[email-masked]>
Date: Tue, 29 Apr 2008 14:46:05 +0200

>  utiliser en général pour ce genre de commande est Score ?

Ça dépend de quelles commandes tu parles, et ce que tu veux leur faire
faire. Effectivement, en général je balance le maximum de trucs dans
le contexte Score, mais il ne faut pas perdre de vue qui appartient à
qui.

on a :

Score >>englobe>> Staff >>englobe>> Voice

TimeSignature, par exemple, appartient à Staff.

Donc :

Score.TimeSignature fonctionne
mais
Voice.TimeSignature ne fonctionne pas.

comme je t'ai dit,

{ a b c }

tout seul, est interprété par LilyPond comme un contexte Voice. donc si tu mets

{ \override TimeSignature #'break-tagada = #'tagada
  a b c
}

Ça ne marchera pas.

Si tu mets en revanche

\new Staff \with { \override TimeSignature #'break-tagada = #'tagada }  {
   a b c
}

là, ça marche.

Enfin, et c'est souvent la solution la plus commode, il y a le bloc
\layout, à mettre en dehors de toute Voice ou Staff :

\layout {
 \context {
   \Staff  %% ou Score, ça marche aussi
   \override TimeSignature #'break-visibility = #end-of-line-invisible
  }
}

Valentin

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 29 Apr 2008 15:10:21 +0200

Le mardi 29 avril 2008, Valentin Villenave a écrit :
> il ne faut pas perdre de vue qui appartient à
> qui.
>
> on a :
>

wahhh enfin un truc simple et clair. Je me trompe ou c'est nulle part écrit 
comme ça dans la doc ? Remarque elle est tellement énorme que mm si je 
l'avais lue de façon exhaustive j'en aurais oublié la majeure partie...

> Voice.TimeSignature ne fonctionne pas.

Bon dit d'une autre façon une commande placée dans la structure englobante 
sera fonctionnelle mais pas si elle est dans la structure englobée ? Un peu 
comme les histoires de processus parents et enfants ? Les enfants héritent 
des parents mais pas le contraire ?

> { \override TimeSignature #'break-tagada = #'tagada

Tiens tagada on l'avait pas encore eue celle-ci. J'apprécie ton sens aigu de 
l'innovation :-)

> Ça ne marchera pas.

Ce que je faisais effectivement.

> \new Staff \with { \override TimeSignature #'break-tagada = #'tagada }  {

Mais ça tu l'avais pas encore dit, le coup du \with, ou alors j'ai mal lu...

>    \override TimeSignature #'break-visibility = #end-of-line-invisible

Là oui ça marche, c'est super. Je m'en vais me mettre ça (avec celle sur Key) 
dans mon modèle de base et comme ça peinardos...

N'empèche, ce serait sympa d'avoir un truc là-dessus dans la doc. 
Éventuellement je veux bien essayer de m'y coller, rien de tel qu'un néophyte 
qui vient enfin de comprendre pour expliquer aux autres :-)

-- 
Cordialement, Daniel Cartron
« Si vous ne vous sentez pas bien... faites-vous sentir par un autre! »
Francis Blanche

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 29 Apr 2008 15:27:29 +0200

> \override Score.TimeSignature #'break-visibility = #end-of-line-invisible

Du coup j'ai re-essayé ça, et celui-ci fonctionne mais il faut le mettre juste 
après \Score (du genre au mm niveau que \remove "Bar_number_engraver" sinon 
ça marche pas.

>     \override TimeSignature #'break-visibility = #end-of-line-invisible

Et là ça marche pas du tout, il connait pas staff...

Bon pas grave j'ai au moins une variante qui fonctionne, mais je suis loin 
d'avoir tout compris.

-- 
Cordialement, Daniel Cartron
« Shakespeare n'a jamais existé. Toutes ses pièces ont été écrites par un 
inconnu qui portait le même nom que lui. »
Alphonse Allais

---

From: "Valentin Villenave" <[email-masked]>
Date: Tue, 29 Apr 2008 15:30:33 +0200

>  Et là ça marche pas du tout, il connait pas staff...

\Staff, pas \staff

>  des parents mais pas le contraire ?

Eeeexactement.

>  Tiens tagada on l'avait pas encore eue celle-ci. J'apprécie ton sens aigu de

N'est-ce pas.

>  Mais ça tu l'avais pas encore dit, le coup du \with, ou alors j'ai mal lu...

http://lists.gnu.org/archive/html/lilypond-user-fr/2008-04/msg00120.html

http://www.changezdelunettes.com/ .

>  qui vient enfin de comprendre pour expliquer aux autres :-)

Mais certainement.

Valentin

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 29 Apr 2008 15:40:04 +0200

> >  Et là ça marche pas du tout, il connait pas staff...

vi j'ai tapé vite mais c'était ça. Il veut pas.

> http://lists.gnu.org/archive/html/lilypond-user-fr/2008-04/msg00120.html

J'ai dit "pas _encore_" au moment où j'ai essayé et dit que ça marchait pas.

> http://www.changezdelunettes.com/ .

C'est çui qui dit qu'y est :-)

> >  Éventuellement je veux bien essayer de m'y coller, rien de tel qu'un
> > néophyte qui vient enfin de comprendre pour expliquer aux autres :-)
>
> Mais certainement.

Bon mais ce sera forcément incomplet vu que j'ai pas encore tout compris. Je 
digère ça encore un peu et je propose un premier jet. Où ?

-- 
Cordialement, Daniel Cartron
« Je suis un contemplateur fervent de l'effort d'autrui. Un paresseux, c'est
tout simplement quelqu'un qui ne fait pas semblant de travailler. »
Tristan Bernard