[prev in list] [next in list] [prev in thread] [next in thread]
List: lilypond-user-fr
Subject: Re: ledger-extra plus courte que les autres
From: joel.gauvrit () free ! fr
Date: 2021-02-27 21:15:54
Message-ID: 539749582.932356.1614460554409.JavaMail.root () zimbra20-e3 ! priv ! proxad ! net
[Download RAW message or body]
J'en reste bouche-bée !
1000 mercis !
----- Mail original -----
De: "Jean Abou Samra" <jean@abou-samra.fr>
À: "joel gauvrit" <joel.gauvrit@free.fr>
Cc: "lilypond-user-fr" <lilypond-user-fr@gnu.org>
Envoyé: Samedi 27 Février 2021 22:08:31
Objet: Re: ledger-extra plus courte que les autres
Le 27/02/2021 à 21:48, joel.gauvrit@free.fr a écrit :
> Extraordinaire !
> Je rêve de comprendre quelque chose à ce code ! Il faudrait proposer des formations \
> ! Cependant je m'aperçois un peu tard que les normes de gravure de mon original de \
> 1764 sont encore plus complexes : ce n'est que lorsque les notes sont dans des \
> interlignes hors portée qu'elles possèdent une ligne excédentaire, et les brèves \
> n'en ont jamais !
Des formations... J'en rêve, mais il faudrait déjà que
cette pandémie se calme un peu !
Voici une version amendée.
Cordialement,
Jean
\version "2.22.0"
#(set-object-property! 'extra-ledger-shorten 'backend-type? number?)
#(define add-shorter-ledger
(grob-transformer 'stencil
(lambda (grob original)
(let* ((staff-symbol (ly:grob-object grob 'staff-symbol))
(line-count (ly:grob-property staff-symbol 'line-count))
(staff-position (ly:grob-property grob 'staff-position))
(x-extent (ly:stencil-extent original X))
(shorten (ly:grob-property grob 'extra-ledger-shorten))
(line-x-extent (interval-widen x-extent (- shorten)))
(line-y-position (* 1/2
(sign staff-position)))
(cause (event-cause grob))
(duration (ly:event-property cause 'duration))
(duration-log (ly:duration-log duration)))
(if (and (>= (abs staff-position)
line-count)
(equal? (modulo staff-position 2)
(modulo line-count 2))
(>= duration-log 0))
(ly:stencil-add
original
(ly:line-interface::line
grob
(car line-x-extent)
line-y-position
(cdr line-x-extent)
line-y-position))
original)))))
\layout {
\override NoteHead.stencil = #add-shorter-ledger
\override NoteHead.thickness = 2
\override NoteHead.extra-ledger-shorten = 0.15
}
\relative {
\autoBeamOff
\override NoteHead.style = #'petrucci
\omit Staff.Clef
\omit Staff.TimeSignature
\time 4/2
c'''16 b a g f e d c b8 a g f e4 d c b |
a2 g f1 |
e\breve |
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic