Subject: Augmenter l'espace horizontal

From: Seventies <[email-masked]>
Date: Sat, 9 Feb 2013 13:00:32 -0800 (PST)

Sujet récurrent, je pense, mais encore difficile à maîtriser.

Dans le soucis constant de reproduire fidèlement les partitions du XIXième
siècle, je cherche à placer au mieux toutes les indications de dynamiques
indiquées par le compositeur (ou du moins trouvées sur la partition de
référence).

Ceci conduit à introduire des lignes dynamiques complexes, du genre :
sfz dim suivi d'un soufflet, puis d'un p
le tout sur une seule mesure.
Pas trop de difficulté sur la directrice, ou le grand nombre de notes assure
un espacement horizontal correct. Par contre, dans les parties, LilyPond
décale verticalement les nuances pour pouvoir les placer toutes, avec un
résultat fort peu esthétique.

Il y a la solution du
\Score \override SpacingSpanner #'base-shortest-duration = #(ly:make-moment
1 32)
mais toute la partition est allongée, les silences multi-mesure deviennent
énormes.

Il y a la possibilité d'ajouter des notes cachées, mais ça reste une
solution un peu tordue.

Est-il possible de trouver une solution élégante à ce problème ?

D'avance merci,

Jean-François

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Augmenter-l-espace-horizontal-tp7579014.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Xavier Scheuer <[email-masked]>
Date: Sat, 9 Feb 2013 22:33:25 +0100

> résultat fort peu esthétique.

Bonsoir,

Tu dis que LilyPond décale *verticalement* les nuances pour pouvoir les
placer toutes.  Tu pourrais donner un exemple (minimal) de code ou
envoyer une image du résultat obtenu ?
Car LilyPond aligne normalement sur *une même ligne horizontale* les
soufflets et les nuances qui les précèdent ou suivent directement,
donc ne devrait pas décaler verticalement.

> Est-il possible de trouver une solution élégante à ce problème ?

Si le problème concerne surtout, comme je le comprends, les soufflets,
tu pourrais redéfinir la valeur de la longueur minimale de ceux-ci.
  \override Hairpin#'minimum-length = #4

Cela dit le bug #2207 reste gênant pour le cas nuance-soufflet.
http://code.google.com/p/lilypond/issues/detail?id=2207

Cordialement,
Xavier

-- 
Xavier Scheuer <[email-masked]>

---

From: Seventies <[email-masked]>
Date: Sat, 9 Feb 2013 14:14:09 -0800 (PST)

Voici quelques exemples, pas les pires, il faudrait un peu de temps pour les
retrouver.

<http://lilypond-french-users.1298960.n2.nabble.com/file/n7579016/Dynamique1.jpg> 

<http://lilypond-french-users.1298960.n2.nabble.com/file/n7579016/Dynamique2.jpg> 

<http://lilypond-french-users.1298960.n2.nabble.com/file/n7579016/Dynamique3.jpg> 

<http://lilypond-french-users.1298960.n2.nabble.com/file/n7579016/Dynamique4.jpg> 

Ce 4ième exemple est typique du soufflet qui commence avant la fin du 'dim'
textuel. Idem pour le second exemple. Il suffit d'ajouter un chouïa via des
notes cachées, et le comportement redevient normal.

Parfois, il suffit de justifier le texte sur son extrémité droite pour
arranger le problème :
\once \override DynamicText #'self-alignment-X = #1.0

Voici un petit exemple minimum - qui fonctionne dans le cadre de la
directrice, mais pas pour la partie.

\version "2.16.0"

\new Staff {
	\relative c'' {
		<<{d ( b d b d b c a ) }{s16 \< s s s s s \! s8 \fz \> s s16 s \!}>>
		c2 \! r
	}
}

Cordialement,

Jean-François

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Augmenter-l-espace-horizontal-tp7579014p7579016.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Xavier Scheuer <[email-masked]>
Date: Sun, 10 Feb 2013 01:10:40 +0100

> notes cachées, et le comportement redevient normal.

Les "dim" sont bien des DynamicTextSpanner ?  Et non de simples
TextScript (via une commande type c4-\markup \italic "dim." ) ?

Tu n'arrêtes pas le soufflet la note avant la nuance (voir ci-dessous) ?
Cela n'est pas nécessaire et cela "casse" l'alignement horizontal.

> (snip)

Les premières notes sont vraiment des noires ?  (tu n'as pas spécifié
la durée de la première note, donc par défaut LilyPond prend la noire)
Je demande si c'est bien ça car la durée totale des notes ne correspond
pas à la durée totale des silences en parallèle.

Si tu supprimes le \! la note (s) avant le \fz l'alignement est bon
(quelle que soit la durée des notes en parallèle).

  \relative c'' {
    <<
      {
        d4( b d b |
        d4 b c a) |
      }
      {
        s4.\< s8\fz\> s8 s16 s\! % pas complet ; \! voulu à cet endroit ?
      }
   c2\!  % utile ?
     r
}

Cordialement,
Xavier

---

From: Seventies <[email-masked]>
Date: Sun, 10 Feb 2013 14:02:47 -0800 (PST)

Voilà, excuse-moi pour le retard de la réponse, mais le temps m'a manqué
aujourd'hui ...

Effectivement, l'exemple minimum a été réalisé dans la précipitation, mais
grâce à ton exemple, la mémoire m'est revenue. Une ligne dynamique ne doit
jamais être interrompue par un \! pour conserver l'alignement des nuances.

Bien sûr, c'est là l'erreur, grand merci pour ton aide.

Sinon, j'avais trouvé quelques astuces supplémentaires, par exemple réunir
le p et le dim en une seule indication, via une commande du genre
DMPdim = \markup {\dynamic p \normal-text \italic "dim."}
Pdim = #(make-dynamic-script DMPdim)

Juste une question complémentaire : ton exemple minimum donne deux portées,
plus une troisième qui débute sous le c2, et ceci tant qu'on n'ajoute pas le
\new Staff . Est-ce normal ?

Quel est ce mécanisme qui crée des portées supplémentaires ?

Cordialement,

Jean-François

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Augmenter-l-espace-horizontal-tp7579014p7579025.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Xavier Scheuer <[email-masked]>
Date: Sun, 10 Feb 2013 23:28:39 +0100

> Voilà, excuse-moi pour le retard de la réponse, mais le temps m'a manqué

Pas de problème.  Et nul besoin de s'excuser !

> Pdim = #(make-dynamic-script DMPdim)

Mouais.  Le p ne sera pas centré horizontalement sous la note.
Il existe plusieurs moyens d'y remédier mais un simple
  c4\p\dim
fait l'affaire, non ?

> Quel est ce mécanisme qui crée des portées supplémentaires ?

C'est le problème de ne pas définir explicitement les contextes.
Puisque l'exemple de code contient au début deux expressions musicales
en parallèle (puis une troisième) et que je n'ai pas créé de contexte
Staff pour contenir ces expressions, LilyPond créée d'abord 2 portées :
une chacune expression, puis une troisième qui débute pour le c2 .

Dans toutes mes fichiers LilyPond je m'efforce de créer explicitement
les contextes, pour éviter ce genre de résultats.
Une explication plus détaillée ainsi qu'un avertissement concernant les
contextes créés implicitement se trouve dans le manuel d'initiation,
LM 3.1.1 Introduction à la structure de fichier LilyPond
http://www.lilypond.org/doc/v2.17/Documentation/learning/introduction-to-the-lilypond-file-structure

Cordialement,
Xavier