Accords sur deux portées

Bonjour à tous,
Sur les conseils de Xavier, que je remercie au passage, je me suis
attelé à recopier la Gnossienne N°3 de Satie;
Comme j e l'ai signalé dans un précédent courrier, il y a 11 portées à
copier dont 54 mesures.
Et toute la partition est sur le même modèle.
Je joint mon fichier pour plus de compréhension; je pense que je m'en
sort pas trop mal, mais j'aimerai simplifier la saisie si possible,
car je trouve qu'il y a
beaucoup de commandes à recopier telles que:
\override Stem #'cross-staff = ##t
  \override Stem #'length = #12
  \override Stem #'flag-style = #'no-flag
ce qui simplifierai le travail, et raccourcirai le temps passé, malgré
que je fasse du copier-coller.
Mais peut être que j'en demande trop à Lily !
Merci d'avance, et bon week-end à tous.
Jean.

GNOSSIENNE N°3.ly (3.39 KB)

GNOSSIENNE N°3.pdf (111 KB)

Bonjour à tous,

Bonsoir (au passage : ne pas oublier de cliquer sur "répondre à tous"
lorsque l'on répond à la liste !)

Je joint mon fichier pour plus de compréhension;

Joindre le .ly suffit ! le .pdf est beaucoup plus lourd, et de tels
messages sont en principe interdits sur la liste (afin de ne pas
utiliser trop de ressources, sur le serveur de gnu.org qui nous
héberge gracieusement et qui est d'ailleurs à la peine en ce moment).

je pense que je m'en
sort pas trop mal, mais j'aimerai simplifier la saisie si possible,
car je trouve qu'il y a
beaucoup de commandes à recopier telles que:
\override Stem #'cross-staff = ##t
\override Stem #'length = #12
\override Stem #'flag-style = #'no-flag
ce qui simplifierai le travail, et raccourcirai le temps passé, malgré
que je fasse du copier-coller.

Si ces variables vont ensemble, pourquoi ne pas les mettre toutes
ensemble dans une variable ?

Hampes = {
  \override Stem #'cross-staff = ##t
  \override Stem #'length = #12
  \override Stem #'flag-style = #'no-flag
}

noHampes = {
  \revert Stem #'cross-staff
  \revert Stem #'length
  \revert Stem #'flag-style
}

Vous pouvez même faire une variable pour chaque propriété :

longuesHampes = {
  \override Stem #'length = #12
}

puis faire une grosse variable pour les situations où elles vont ensemble :

Hampes = {
  \longuesHampes
  \crossStaffHampes
  \noFlagHampes
}

Cordialement,
Valentin.

···

2010/12/3 Jean Gautier-Barillé <****@****>:

Bonsoir, et merci à Valentin pour m'avoir répondu si vite.
Toutes mes excuses pour mes erreurs, je ferai attention à l'avenir.
Mais revenons à mon sujet, toutes ces variables, se retrouvent tout au long
de la partition, et j'ai encore beaucoup de travail.
Seulement pourriez-vous me préciser comment utiliser le regroupement des
variables, tel que:
Hampes; noHampes; longuesHampes; Hampes.
Par moment j'ai vraiment des lacunes.
Avec mes excuses et encore merci.
Cordialement.
Jean.

···

----- Original Message -----
From: "Valentin Villenave" <****@****>
To: "Jean Gautier-Barillé" <****@****>
Cc: "LilyPond" <lilypond-user-fr@gnu.org>
Sent: Friday, December 03, 2010 6:28 PM
Subject: Re: Accords sur deux portées

2010/12/3 Jean Gautier-Barillé <****@****>:

Bonjour à tous,

Bonsoir (au passage : ne pas oublier de cliquer sur "répondre à tous"
lorsque l'on répond à la liste !)

Je joint mon fichier pour plus de compréhension;

Joindre le .ly suffit ! le .pdf est beaucoup plus lourd, et de tels
messages sont en principe interdits sur la liste (afin de ne pas
utiliser trop de ressources, sur le serveur de gnu.org qui nous
héberge gracieusement et qui est d'ailleurs à la peine en ce moment).

je pense que je m'en
sort pas trop mal, mais j'aimerai simplifier la saisie si possible,
car je trouve qu'il y a
beaucoup de commandes à recopier telles que:
\override Stem #'cross-staff = ##t
\override Stem #'length = #12
\override Stem #'flag-style = #'no-flag
ce qui simplifierai le travail, et raccourcirai le temps passé, malgré
que je fasse du copier-coller.

Si ces variables vont ensemble, pourquoi ne pas les mettre toutes
ensemble dans une variable ?

Hampes = {
  \override Stem #'cross-staff = ##t
  \override Stem #'length = #12
  \override Stem #'flag-style = #'no-flag
}

noHampes = {
  \revert Stem #'cross-staff
  \revert Stem #'length
  \revert Stem #'flag-style
}

Vous pouvez même faire une variable pour chaque propriété :

longuesHampes = {
  \override Stem #'length = #12
}

puis faire une grosse variable pour les situations où elles vont ensemble :

Hampes = {
  \longuesHampes
  \crossStaffHampes
  \noFlagHampes
}

Cordialement,
Valentin.

Ce ne sont que des exemples que j'ai improvisés : à vous de définir
vous même vos variables, et de leur choisir des noms pas trop longs à
taper...

Le principe des variables est simple : vous pouvez définir une
variable (en lui donnant n'importe quel nom) pour remplacer (à peu
près) n'importe quel bout de code LilyPond.

Ainsi, si vous faites au début de votre fichier

maVariable = {
  \override Tagada #'unepropriete = #blabla
}

dès lors, saisir

\maVariable

reviendra exactement au même que de saisir

\override Tagada #'unepropriete = #blabla

(c'est un peu plus court, et plus élégant)

Et cette variable, à son tour, peut être incluse dans une autre
variable, avec d'autres propriétés : en d'autres termes, plutôt que
d'écrire

grandeVariable = {
  \override Tagada #'unepropriete = #blabla
  \override TrucMuche #'uneautrepropriete = #blabla
}

Vous pourriez faire

maVariable = {
  \override Tagada #'unepropriete = #blabla
}

uneAutreVariable = {
  \override TrucMuche #'uneautrepropriete = #blabla
}

Puis :

grandeVariable = {
  \maVariable
  \uneAutreVariable
}

Évidemment, vous pouvez mélanger des variables avec du code normal :

plusGrandeVariable = {
  \maVariable
  \uneAutreVariable
  \override Tagada #'encoreautrechose = #blabla
}

Faites l'essai, vous verrez que c'est assez simple !

Cordialement,
V. Villenave.

···

2010/12/3 Jean Gautier <****@****>:

Mais revenons à mon sujet, toutes ces variables, se retrouvent tout au long
de la partition, et j'ai encore beaucoup de travail.
Seulement pourriez-vous me préciser comment utiliser le regroupement des
variables, tel que:
Hampes; noHampes; longuesHampes; Hampes.
Par moment j'ai vraiment des lacunes.

Bonjour tous,

Suivant les conseils de Xavier et Valentin, j'ai modifié mon fichier
je pense avec assez de succès;
bien que je n'ai pas réussi à mettre en variables
\stemDown & \stemUp
qui apparaissent souvent au cours de la partition, mais ce n'est peut
être pas possible.
Il me reste encore 6 lignes à recopier.
Mais ce qui m'amène aujourd'hui, c'est une petite anomalie à la ligne
N°3; à la deuxième mesure; je m'explique,
Lily à légèrement décalé l'accord (la ré fa) noir, pour éviter la
superposition avec le sol sur la clé de Sol.Ce qui est très bien;
Seulement cet accord est sur 2 voix, et le( la) (clé de Fa) se trouve
à la bonne position.Mais sur le papier ce décalage n'est pas très
joli;
j'ai essayé de forcer la commande avec:
\once\override NoteColumn #' staff-position = #1 a4
mais sans succès.
J'ai cherché dans le manuel, mais ce ne doit pas être la bonne solution.
Je tourne en rond, et en désespoir de cause, votre avis serait le bien venu.
Merci d'avance,
Cordialement.
Jean

32b.GNOSSIENNE N°3.ly (4.42 KB)

···

Le 3 décembre 2010 19:55, Valentin Villenave <****@****> a écrit :

2010/12/3 Jean Gautier <****@****>:

Mais revenons à mon sujet, toutes ces variables, se retrouvent tout au long
de la partition, et j'ai encore beaucoup de travail.
Seulement pourriez-vous me préciser comment utiliser le regroupement des
variables, tel que:
Hampes; noHampes; longuesHampes; Hampes.
Par moment j'ai vraiment des lacunes.

Ce ne sont que des exemples que j'ai improvisés : à vous de définir
vous même vos variables, et de leur choisir des noms pas trop longs à
taper...

Le principe des variables est simple : vous pouvez définir une
variable (en lui donnant n'importe quel nom) pour remplacer (à peu
près) n'importe quel bout de code LilyPond.

Ainsi, si vous faites au début de votre fichier

maVariable = {
\override Tagada #'unepropriete = #blabla
}

dès lors, saisir

\maVariable

reviendra exactement au même que de saisir

\override Tagada #'unepropriete = #blabla

(c'est un peu plus court, et plus élégant)

Et cette variable, à son tour, peut être incluse dans une autre
variable, avec d'autres propriétés : en d'autres termes, plutôt que
d'écrire

grandeVariable = {
\override Tagada #'unepropriete = #blabla
\override TrucMuche #'uneautrepropriete = #blabla
}

Vous pourriez faire

maVariable = {
\override Tagada #'unepropriete = #blabla
}

uneAutreVariable = {
\override TrucMuche #'uneautrepropriete = #blabla
}

Puis :

grandeVariable = {
\maVariable
\uneAutreVariable
}

Évidemment, vous pouvez mélanger des variables avec du code normal :

plusGrandeVariable = {
\maVariable
\uneAutreVariable
\override Tagada #'encoreautrechose = #blabla
}

Faites l'essai, vous verrez que c'est assez simple !

Cordialement,
V. Villenave.

Suivant les conseils de Xavier et Valentin, j'ai modifié mon fichier
je pense avec assez de succès;
bien que je n'ai pas réussi à mettre en variables
\stemDown & \stemUp
qui apparaissent souvent au cours de la partition, mais ce n'est peut
être pas possible.

Vous pouvez utiliser la commande suivante, qui vous permettra
d'enlever tous les \stemDown et \stemUp et d'indiquer seulement
\restsUp au début de votre partie "lower" :

restsUp =
\override Stem #'direction =
  #(lambda (grob)
     (let* ((cause (ly:grob-property grob 'cause))
            (parent-cause (ly:grob-property cause 'cause))
            (parent-props (ly:prob-immutable-properties parent-cause))
            (parent-class (assoc-get 'class parent-props)))
       (if (eq? parent-class 'rest-event)
           UP
           DOWN)))

(Tiens, d'ailleurs je m'en vais de ce pas mettre cela sur le LSR. Zou :
http://lsr.dsi.unimi.it/LSR/Item?id=732 )

Il me reste encore 6 lignes à recopier.
Mais ce qui m'amène aujourd'hui, c'est une petite anomalie à la ligne
N°3; à la deuxième mesure; je m'explique,
Lily à légèrement décalé l'accord (la ré fa) noir, pour éviter la
superposition avec le sol sur la clé de Sol.Ce qui est très bien;
Seulement cet accord est sur 2 voix, et le( la) (clé de Fa) se trouve
à la bonne position.Mais sur le papier ce décalage n'est pas très
joli;
j'ai essayé de forcer la commande avec:
\once\override NoteColumn #' staff-position = #1 a4
mais sans succès.

J'ai une solution plus simple : remplacez votre a4 par

<< \hideNotes b4*0 \\ a4 >>

Ainsi l'on ajoute une note invisible qui décale le la vers la droite,
exactement comme pour la portée du haut.

Cordialement,
V. Villenave.

···

2010/12/6 Jean Gautier-Barillé <****@****>:

Merci Valentin, c'est formidable ce qu'on peut faire avec LilyPond, j'ai modifié mon fichier en conséquences, et repris la saisie.
Je garde ces précieuses informations pour des utilisations ultérieures.

Jean.

···

Le 7 décembre 2010 14:38, Valentin Villenave <****@****> a écrit :

2010/12/6 Jean Gautier-Barillé <****@****>:

Suivant les conseils de Xavier et Valentin, j'ai modifié mon fichier
je pense avec assez de succès;
bien que je n'ai pas réussi à mettre en variables
\stemDown & \stemUp
qui apparaissent souvent au cours de la partition, mais ce n'est peut
être pas possible.

Vous pouvez utiliser la commande suivante, qui vous permettra
d'enlever tous les \stemDown et \stemUp et d'indiquer seulement
\restsUp au début de votre partie "lower" :

restsUp =
\override Stem #'direction =
#(lambda (grob)
(let* ((cause (ly:grob-property grob 'cause))
(parent-cause (ly:grob-property cause 'cause))
(parent-props (ly:prob-immutable-properties parent-cause))
(parent-class (assoc-get 'class parent-props)))
(if (eq? parent-class 'rest-event)
UP
DOWN)))

(Tiens, d'ailleurs je m'en vais de ce pas mettre cela sur le LSR. Zou :
http://lsr.dsi.unimi.it/LSR/Item?id=732 )

Il me reste encore 6 lignes à recopier.
Mais ce qui m'amène aujourd'hui, c'est une petite anomalie à la ligne
N°3; à la deuxième mesure; je m'explique,
Lily à légèrement décalé l'accord (la ré fa) noir, pour éviter la
superposition avec le sol sur la clé de Sol.Ce qui est très bien;
Seulement cet accord est sur 2 voix, et le( la) (clé de Fa) se trouve
à la bonne position.Mais sur le papier ce décalage n'est pas très
joli;
j'ai essayé de forcer la commande avec:
\once\override NoteColumn #' staff-position = #1 a4
mais sans succès.

J'ai une solution plus simple : remplacez votre a4 par

<< \hideNotes b4*0 \ a4 >>

Ainsi l'on ajoute une note invisible qui décale le la vers la droite,
exactement comme pour la portée du haut.

Cordialement,
V. Villenave.