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

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

Re: alignement opus et piece


From: Frère Raphaël
Subject: Re: alignement opus et piece
Date: Mon, 24 Sep 2012 21:28:31 +0200

D'abord un grand merci.
C'est ce que je désire quant au résultat.
Je ne suis pas du tout doué dans toutes ces définitions ! C'est vraiment super !
Mais je me suis mal exprimé dans l'_expression_ "utiliser ensemble opus = et piece =.
J'aimerais pouvoir, dans l'écriture de la partition, dans le \header, distinguer clairement l'opus et la piece,
car dans certains chants il n'y aura que l'opus et pas de nom de piece :
\header {
           opus = 
piece =
}
Et d'autant plus aussi que la dimension des caractères ne sera pas la même pour l'opus et pour la piece,
un paramétrage que nous devrons mettre dans le scoreTitleMarkup.
Il me semble que actuellement nous ne pouvons distinguer opus et piece pour les paramétrer différemment.
Encore merci de tout ce que vous faites.
J'espère que ça devient de plus en plus clair !
Raphaël
 

De : Gilles
Date/heure : 24-09-2012  18:51:44
A : lilypond-user-fr
Cc :
Sujet : Re: alignement opus et piece
Le Mon, 24 Sep 2012 12:54:28 +0200, Frère Raphaël <address@hidden>  
a écrit:
> Comme le propose Eluze, j'aimerais pouvoir incorporer cette (ou une  
> autre) fonction dans la définition du scoreTitleMarkup permettant  
> d'utiliser ensemble opus =  et piece = .
Je ne comprend pas exactement ce que veut dire "utiliser ensemble opus =   
et piece = " ?.
On peut se définir ses propres variables \header.
Par exemple, si on veut une variable hymn, dans le header, on peut mettre :
   \header {
           hymn = \markup \my-hymn #'a "hymn-1" "Te Deum"
    }
et dans le scoreTitleMarkup, il suffit d'appeler hymn avec \fromproperty,  
mais en rajoutant le préfixe header: , comme suit :
   \fromproperty #'header:hymn
Ce qui laisse libre opus et piece pour d'autres usages.
Mais je pressens que ce n'est pas de ça ce dont il s'agit.
> Avec le but que l'opus soit toujours mis à l'extérieur de la page et que  
> la piece soit placée à un endroit fixe, mais pas nécessairement au  
> milieu, plutôt un peu sur la gauche. Est-ce qu'une variable ne peut pas  
> être introduite dans la définition du scoreTitleMarkup ? Ceci est en vue  
> de faciliter la mise en page d'un livret de petits chants.
> Voici ci-dessous le résultat que j'aimerais mais il faudrait simplifier  
> l'écriture (surtout la recherche de la valeur du \halign qui prend du  
> temps pour chaque piece).
Bon, en tout cas voici une version qui permettra une édition très rapide.
J'ai isolé 2 variables : stencil-even et stencil-odd dont on pourra très  
facilement éditer les markup
( l'édition est très proche d'un \markup traditionnel ). Eluze et raphaël  
vous n'avez apparemment pas tout à fait les mêmes souhaits ; j'ai plutôt  
fait le markup demandé par Raphaël, en mettant une variable hymn-hspace  
dans \page pour pouvoir décaler vers la gauche tout les titres des hymnes.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.16.0"
\paper {
       hymn-hspace = #10 % pour décaler les titres
       scoreTitleMarkup = \markup { \column {
         \on-the-fly #print-all-headers { \bookTitleMarkup \hspace #1 }
         \fromproperty #'header:hymn
         }
       }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#(define-markup-command (my-hymn layout props label arg1 arg2)
       (symbol? markup? markup?)
(let* ((space (+ (ly:output-def-lookup layout 'hymn-hspace 0)
                  (ly:output-def-lookup layout 'indent 0)))
        (stencil-even (interpret-markup layout props
            (markup #:line (arg1 #:hspace space arg2))))
            ; on peut utiliser general-align pour aligner les arg1 et arg2
        (stencil-odd (interpret-markup layout props
            (markup #:fill-line (#:line (#:hspace space arg2) arg1)))))
   (ly:make-stencil
     `(delay-stencil-evaluation
        ,(delay (ly:stencil-expr
           (let* ((table (ly:output-def-lookup layout 'label-page-table))
                  (page-number (if (list? table)
                    (assoc-get label table)
                    #f)))
             (if (even? page-number) stencil-even stencil-odd)))))
     '(0 . 0) '(0 . 0))))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\book {
       \score {
         \new Staff { \label #'a \repeat unfold 100 c'1 }
         \header {
           hymn = \markup \my-hymn #'a "hymn-1" "Te Deum"
         }
       }
       \score {
         \new Staff { \label #'b \repeat unfold 100 c'1 }
         \header {
           hymn = \markup \my-hymn #'b "hymn-2" "Aria"
         }
       }
       \score {
         \new Staff { \label #'c \repeat unfold 100 c'1 }
         \header {
           hymn = \markup \my-hymn #'c "hymn-3" "Messe"
         }
       }
       \score {
         \new Staff { \label #'d c'1 }
         \header {
           hymn = \markup \my-hymn #'d "hymn-4" "Solo"
         }
       }
       \score {
         \new Staff { \label #'e \repeat unfold 100 c'1 }
         \header {
           hymn = \markup \my-hymn #'e "hymn-5" "Magnificat"
         }
       }
       \score {
         \new Staff { \label #'f c'1 }
         \header {
           hymn = \markup \my-hymn #'f "hymn-6" "Agnus"
         }
       }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-- 
Gilles
_______________________________________________
liste de diffusion lilypond-user-fr
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

reply via email to

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