lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Jean Abou Samra
Subject: Re: ne pas répéter \piece et \opus
Date: Thu, 2 Jun 2022 00:23:12 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1

Le 01/06/2022 à 14:48, david427@mailo.com a écrit :
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)



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"
}


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

\score {
  \new Staff { \clef bass \cello }
  \header {
    extra-text =
      \markup \fill-line {
        \override #'(line-width . 100)
        \override #'(baseline-skip . 2.5)
        \center-column { \fontsize #2 {
          \justify-string "Texte"
          \vspace #1
          \justify-string "Encore Texte"
          \vspace #1 }}}
  }
  \layout { }
}


Cordialement,
Jean





reply via email to

[Prev in Thread] Current Thread [Next in Thread]