Subject: Affichage d'un "piece" dans l'entête

From: "F.Moinard" <[email-masked]>
Date: Wed, 13 Dec 2017 14:03:13 +0400

Bonjour,

Malgré épluchage de la doc, je sèche sur la chose suivante:

Soit une collection de pièces. Ici, les parties séparées d'un opéra.

Je saisis les parties dans le désordre (ordre des répétitions, état de 
l'original) et seulement pour quelques instruments.

Chaque scène est dans un \/score/ qui contient son/\//header//{piece = 
"scène"}./ L'ensemble est dans un seul fichier qui contient des \include.

Jusque là tout baigne.

Je souhaite que l'entête de chaque page cite le nom de la scène 
(/score/) courante et...

/\paper {//
//   oddHeaderMarkup = \markup { \on-the-fly #not-part-first-page 
\fromproperty #'header:piece }//
//}/

affiche bien le /piece/ du /header/ général, pas celui du \score courant.

La même déclaration dans un /\layout {}/ ne fait rien (au cas où).

Je ne trouve pas du tout comment faire...

Une lumière ?

Cordialement,
Frédéric Moinard

---

From: Remy CLAVERIE <[email-masked]>
Date: Wed, 13 Dec 2017 12:46:41 +0100 (CET)

Bonjour Frédéric,

Tu pourrais nous envoyer un extrait de ton code pour voir ce qui pose problème.

Merci

Rémy

 

> Message du 13/12/17 11:22
> De : "F.Moinard" 
> A : [email-masked]
> Copie à : 
> Objet : Affichage d'un "piece" dans l'entête
> 
>
> Bonjour,

> Je saisis les parties dans le désordre (ordre des répétitions, état de l'original) et seulement pour quelques instruments.
>

> Chaque scène est dans un \score qui contient son \header {piece = "scène"}. L'ensemble est dans un seul fichier qui contient des \include.
>

> Je souhaite que l'entête de chaque page cite le nom de la scène (score) courante et...
>

> \paper {
>    oddHeaderMarkup = \markup { \on-the-fly  #not-part-first-page \fromproperty #'header:piece }
> }

> affiche bien le piece du header général, pas celui du \score courant.

> La même déclaration dans un \layout {} ne fait rien (au cas où).
>

> Frédéric Moinard

_______________________________________________
liste de diffusion lilypond-user-fr
[email-masked]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

---

From: "F.Moinard" <[email-masked]>
Date: Wed, 13 Dec 2017 23:40:48 +0400

Bonsoir,

Bien sûr, du code !

Donc, soit les trois scènes :

    \version "2.19.65"

    \header { instrument = "Trbs" }

    \paper {
       oddHeaderMarkup = \markup
       \fill-line {
         \on-the-fly #print-page-number-check-first \fromproperty
    #'page:page-number-string
         \on-the-fly #not-part-first-page \fromproperty #'header:scene
         \on-the-fly #not-part-first-page \fromproperty #'header:instrument
       }
       evenHeaderMarkup  = \oddHeaderMarkup
    }

    \score {
       \new Staff \with {instrumentName = #"Trb I,1" }
       { c'1 \pageBreak c'2 e'4 g' c''1 }
       \header { piece = "Acte I, Scène 1" }
       \layout {}
    }

    \score {
       \new Staff \with {instrumentName = #"Trb II,2" }
       { cis'1 \pageBreak cis'2 eis'4 gis' cis''1 }
       \header { piece = "Acte II, Scène 2" }
       \layout {}
    }

    \score {
       \new Staff \with {instrumentName = #"Trb III,3" }
       { d'1 \pageBreak d'2 fis'4 a' d''1 }
       \header { piece = "Acte III, Scène 3" }
       \layout {}
    }

L'entête contient le numéro de page, et la mention "Trbs" qui correspond 
à l'instrument du \header du début.
Je souhaite que chaque entête affiche
/page   -- /piece/du/\score/courant (soit celle de la première mesure 
affichée sur la page) -- /instrument/du /\score/courant
/Pour rester dans mon exemple, cela donnerait :

    [page] 2 ---> Acte I, Scène 1 ---> Trb I,1
    [page] 3 ---> Acte II, Scène 2 ---> Trb II,2
    [page] 4 ---> Acte III, Scène 3 ---> Trb III,3

En espérant avoir été plus clair...

Frédéric

Le 13/12/2017 à 15:46, Remy CLAVERIE a écrit :
>     > De : "F.Moinard" <[email-masked]>
>     > Je saisis les parties dans le désordre (ordre des répétitions,
>     état de l'original) et seulement pour quelques instruments.
>     >
>
>     > Chaque scène est dans un \/score/ qui contient
>     son/\//header//{piece = "scène"}./ L'ensemble est dans un seul
>     fichier qui contient des \include.
>     >
>
>     > Jusque là tout baigne.
>
>     > //   oddHeaderMarkup = \markup { \on-the-fly
>     #not-part-first-page \fromproperty #'header:piece }//
>     > //}/
>