Subject: ne pas répéter \piece et \opus

From: [email-masked]
Date: Wed, 1 Jun 2022 09:32:11 +0200 (CEST)

Bonjour,

Dans une partition, j'ai voulu intégrer du texte entre l'en-tête et la musique.

Comme je n'ai pas trouvé comment faire (avec un \markup, mon texte s'affiche DANS l'en-tête, et non pas après), j'ai créé une partition vide et j'ai inséré mon markup après (voir l'exemple minimaliste ci-dessous)

Le problème, c'est qu'au niveau de mon deuxième bloc \score, j'aimerai ne pas répéter la pièce et l'opus.

Habituellement, si je mets ##f dans le bloc \header, ça supprime effectivement l'affichage des infos non désirées.

Or ici :

Si je laisse comme ça, l'opus et la pièce s'affichent

Si je commente (%) l'un des deux, l'autre ne s'affiche pas (comportement attendu), mais, logiquement celui qui est commenté s'affiche (non souhaité mais attendu ici)

Est-ce que quelqu'un a une idée, soit pour afficher mon texte sans mon bidouillage, soit pour effacer la pièce et l'opus du 2ème \header ?

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\version "2.23.3"
\language "français"

\header { title = "Titre"
          subtitle = "Sous-Titre"
          poet = " "
          piece = "pièce"     
          composer = "Compositeur"
          opus = "opus"
          copyright = "copyright"
          tagline = "tagline" }

cello = \relative do { do mi sol mi do1 \bar "|." }

\score { { s1 } 
\layout { \context { \Staff \RemoveAllEmptyStaves }}}
\markup \fill-line {
  \override #'(line-width . 100)
  \override #'(baseline-skip . 2.5)
  \center-column { \fontsize #2 {
    \vspace #-4
    \justify-string "Texte"
    \vspace #1
    \justify-string "Encore Texte"
    \vspace #1 }}}

\score { \new Staff { \clef bass \cello }
\header { opus = ##f 
          piece = ##f 
} 
\layout { }}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

(La version de lilypond est obsolète, je vais changer, mais dans mon cas c'est un peu compliqué ^^ )

---

From: Jacques Menu <[email-masked]>
Date: Wed, 1 Jun 2022 09:39:49 +0200

Bonjour David,

Une solution est de faire les choses sur mesure, comme proposé sur la liste anglophone :

\version "2.23.4"

\header {
  title = "My Piece"
  opus = "22"
  additional-arranger = "Arranger II"
}

\paper {
  bookTitleMarkup = ##f

  scoreTitleMarkup =
  \markup \column {
    \fill-line { "" \bold \fontsize #4 \fromproperty #'header:title "" }
    \fill-line { "" \concat { "OPUS: " \fromproperty #'header:opus } "" }
    \fill-line { "" "" \concat { "Additional Arranger: " \fromproperty #'header:additional-arranger } }
  }
}

\score { c'1 }

JM

> Le 1 juin 2022 à 09:32, [email-masked] a écrit :
> 
> Bonjour,
>

---

From: [email-masked]
Date: Wed, 1 Jun 2022 14:48:12 +0200 (CEST)

Merci pour ta réponse, mais je ne vois pas comment elle peut s'adapter dans mon cas :(

je n'ai pas réussi à faire le lien avec mon problème

J'ai l'impression que ton code sert à supprimer les réglages du titre par défaut, et que tu redéfinies les réglages du titre en mettant (ici) l'opus en gras, gros et centré.

Moi je cherche :

-> soit à ajouter du texte (un mot du compositeur) avant la musique, c'est à dire après les infos \header (titre, compositeur, opus, pièce)

-> soit à faire disparaitre les 2èmes occurence de l'opus et de la pièce dans le 2ème \score (dans mon bricolage avec 2 blocs \score)

si je mets \header { opus = ##f } j'ai effectivement le 2ème opus qui s'efface (la répétition dont je n'ai pas besoin)

si je mets \header { piece = ##f } j'ai effectivement le 2ème pièce qui s'efface (idem)

mais si j'écris \header { opus = ##f 

                                       piece = ##f } 

le 2ème opus et le 2ème pièce s'écrivent quand même, ce que je ne comprends pas (d'habitude, ça fonctionne)

David

De : Jacques Menu <[email-masked]>
À : [email-masked]
Sujet : Re: ne pas répéter \piece et \opus
Date : 01/06/2022 09:39:49 Europe/Paris
Copie à : Jacques Menu <[email-masked]>;
   [email-masked]

Bonjour David,

\version "2.23.4"

\header {
title = "My Piece"
opus = "22"

\paper {
bookTitleMarkup = ##f

scoreTitleMarkup =
\markup \column {

\score { c'1 }

JM

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 2 Jun 2022 00:23:12 +0200

Le 01/06/2022 à 14:48, [email-masked] a écrit :
> J'ai l'impression que ton code sert à supprimer les réglages du titre
> par défaut, et que tu redéfinies les réglages du titre en mettant
> (ici) l'opus en gras, gros et centré.
>
> Moi je cherche :
> -> soit à ajouter du texte (un mot du compositeur) avant la musique,
> c'est à dire après les infos \header (titre, compositeur, opus, pièce)
>
> -> soit à faire disparaitre les 2èmes occurence de l'opus et de la
> pièce dans le 2ème \score (dans mon bricolage avec 2 blocs \score)
> si je mets \header { opus = ##f } j'ai effectivement le 2ème opus qui
> s'efface (la répétition dont je n'ai pas besoin)
> le 2ème opus et le 2ème pièce s'écrivent quand même, ce que je ne
> comprends pas (d'habitude, ça fonctionne)

Moi non plus, je ne comprends pas. Cela m'a semblé sentir
suffisamment le roussi pour ouvrir une page de bug :

https://gitlab.com/lilypond/lilypond/-/issues/6359

Le code en question construit le titre au niveau \score, sauf que
s'il est vide, il le remplace par un titre construit à l'aide du
même scoreTitleMarkup mais interprété seulement avec le \header
du plus haut niveau, sans le \header à l'intérieur du \score.
Apparemment (en tous cas je n'y vois pas d'autre raison), c'est
pour permettre cette syntaxe :

\header {
   piece = "..."
   opus = "..."
}

{ musique ... }

au lieu de

\score {
   \header {
     piece = "..."
     opus = "..."
   }
   { musique ... }
}

Hélas, je ne suis pas sûr qu'il soit possible de changer cela
aujourd'hui. À lire l'historique du code source, cette manière
de faire remonte à 2005. D'un côté, ce serait beaucoup plus
logique de ne pas faire une chose pareille. D'un autre côté,
il y a potentiellement un nombre certain de partitions existantes
qui utilisent la première syntaxe ci-dessus. Bien que ce
ne soit pas officiellement encouragé, j'imagine facilement
un débutant faire cette « erreur ». Par conséquent, il faut
peser le pour d'une syntaxe logique et le contre d'une
rupture de compatibilité potentiellement importante, et qui
n'est pas facile du tout à prendre en charge dans convert-ly.

Quoi qu'il en soit, pour revenir au problème de départ,
je ferais de manière similaire à ce qu'a conseillé Jacques,
en changeant le scoreTitleMarkup :

\version "2.23.9"
\language "français"

\paper {
   scoreTitleMarkup = \markup \column { \scoreTitleMarkup \fromproperty
#'header:extra-text }
}

\header {
   title = "Titre"
   subtitle = "Sous-Titre"
   poet = " "
   piece = "pièce"
   composer = "Compositeur"
   opus = "opus"
   copyright = "copyright"
   tagline = "tagline"
}

\score {
   \new Staff { \clef bass \cello }
   \header {
     extra-text =
       \markup \fill-line {
   \layout { }
}

Cordialement,
Jean

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 2 Jun 2022 00:30:19 +0200

> n'est pas facile du tout à prendre en charge dans convert-ly.

Ce que je viens d'écrire n'a aucun sens. J'y reviendrai à tête reposée…

---

From: Olivier Charade <[email-masked]>
Date: Wed, 1 Jun 2022 16:15:04 +0200

Bonjour David,
Si jamais ce que tu cherches à faire est du style de ce que je joins,
c'est juste un bloc markup après le bloc header et avant le bloc score.
Olivier
ps: et si quelqu'un connaît une traduction plus fluide de ce passage de
la bible, je suis preneur. ;-)

Le 01/06/2022 à 09:32, [email-masked] a écrit :
> Comme je n'ai pas trouvé comment faire (avec un \markup, mon texte
> s'affiche DANS l'en-tête, et non pas après), j'ai créé une partition
> vide et j'ai inséré mon markup après (voir l'exemple minimaliste ci-dessous)
>
> Habituellement, si je mets ##f dans le bloc \header, ça supprime
> effectivement l'affichage des infos non désirées.
>
> Or ici :
> Si je commente (%) l'un des deux, l'autre ne s'affiche pas (comportement
> attendu), mais, logiquement celui qui est commenté s'affiche (non
> souhaité mais attendu ici)
>
> Est-ce que quelqu'un a une idée, soit pour afficher mon texte sans mon
> bidouillage, soit pour effacer la pièce et l'opus du 2ème \header ?
>

---

From: [email-masked]
Date: Thu, 2 Jun 2022 16:12:49 +0200 (CEST)

Bonjour

à propos du ps, la traduction utilisée par les épiscopats de langue française se trouve là :
https://www.aelf.org/bible/Lm/3
je ne sais pas si ça peut faire l'affaire.

B.A.

----- Mail original -----
De: "Olivier Charade" <[email-masked]>
À: "lilypond-user-fr" <[email-masked]>
Envoyé: Mercredi 1 Juin 2022 16:15:04
Objet: Re: ne pas répéter \piece et \opus

Bonjour David,

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 2 Jun 2022 22:19:05 +0200

> Ce que je viens d'écrire n'a aucun sens. J'y reviendrai à tête reposée…

Après un tout petit peu plus de réflexion (je ne sais pas
pourquoi je voyais ce problème de compatibilité imaginaire hier),
je ne vois strictement aucune raison de conserver ce comportement,
donc j'ai fait un patch pour le supprimer :

https://gitlab.com/lilypond/lilypond/-/merge_requests/1396

Cordialement,
Jean