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

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

Re: Parution de LilyPond 2.23.12


From: Ya Gloops
Subject: Re: Parution de LilyPond 2.23.12
Date: Wed, 24 Aug 2022 17:49:40 +0000 (UTC)



Woawww excellent Jean !!! Comme d’habitude...
Merci beaucoup Gilles


Le 24 août 2022 à 19:05 +0200, Jean Abou Samra <jean@abou-samra.fr>, a écrit :

> Le 24/08/2022 à 16:02, Ya Gloops a écrit :
> 
>> Super Jean Merci pour la nouvelle...
>> Juste une petite déception car ta fonction "Numérotation des pages" 
>> fonctionnait super même avec la version "2.23.11" mais plus avec la "2.23.12"
> 
> En effet, car en ajoutant bookpart-level-page-numbering, j'ai fait
> quelques simplifications, qui nécessitent des ajustements dans ce
> code.
> 
> En plus, comme bookpart-level-page-numbering est justement maintenant
> présente dans LilyPond, il n'y a plus besoin de la partie du code
> qui l'implémente, ce qui laisse juste l'implémentation de print-page-total.
> 
> Note que dans le code initial que j'avais donné, la variable pour la
> numérotation au niveau des \bookpart s'appelait number-pages-per-bookpart,
> mais en l'intégrant à LilyPond, j'ai fait en sorte qu'il soit en plus
> possible de la régler au niveau de chaque bookpart, donc le « per-bookpart »
> me paraissait ne plus coller. Je l'ai renommée en 
> bookpart-level-page-numbering.
> Par conséquent, en 2.23.12, il faut utiliser le code modifié ci-dessous,
> et rechercher/remplacer pour changer number-pages-per-bookpart en
> bookpart-level-page-numbering.
> 
> 
> \version "2.23.12"
> 
> #(define-markup-command (page-number layout props) ()
> (if (ly:output-def-lookup layout 'print-page-total #f)
> (let* ((make-stil
> (lambda (total-string)
> (stack-stencils
> X
> RIGHT
> 0.0
> (map (lambda (m)
> (interpret-markup layout props m))
> (list (chain-assoc-get 'page:page-number-string props)
> "/"
> total-string)))))
> (gauge-stil (make-stil "0")))
> (ly:make-stencil
> `(delay-stencil-evaluation
> ,(delay
> (ly:stencil-expr (make-stil (ly:output-def-lookup layout 'page:page-total)))))
> (ly:stencil-extent gauge-stil X)
> (ly:stencil-extent gauge-stil Y)))
> (interpret-markup layout props (make-fromproperty-markup 
> 'page:page-number-string))))
> 
> 
> \paper {
> #(use-modules (srfi srfi-2) ; and-let*
> (lily page))
> page-post-process =
> #(lambda (paper pages)
> (let ((per-bookpart (ly:output-def-lookup paper 
> 'bookpart-level-page-numbering #f)))
> (for-each
> (lambda (page)
> (let ((numbering-paper
> (or (and-let* (((not per-bookpart))
> (parent (ly:output-def-parent paper))
> ((not (null? parent))))
> parent)
> paper))
> (page-number (page-property page 'page-number)))
> (ly:output-def-set-variable!
> numbering-paper
> 'page:page-total
> (number->string
> (max (if per-bookpart
> (1+ (- page-number (ly:output-def-lookup numbering-paper 'first-page-number)))
> page-number)
> (string->number (ly:output-def-lookup numbering-paper 'page:page-total 
> "0")))))))
> pages)))
> oddHeaderMarkup = \markup {
> \if \should-print-page-number {
> \fill-line { \null \concat { \page-number } }
> }
> }
> evenHeaderMarkup = \markup {
> \if \should-print-page-number {
> \fill-line { \concat { \page-number } \null }
> }
> }
> }
> 


reply via email to

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