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

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

Re: doigté d'extension


From: Valentin Villenave
Subject: Re: doigté d'extension
Date: Thu, 18 Jun 2020 22:34:36 +0200

On 6/18/20, Jean Abou Samra <jean@abou-samra.fr> wrote:
> Je ne suis pas certain de comprendre. Dans le \new Voice, c'est sûr
> que les propriétés changée au niveau de Voice seront perdues, mais
> je ne vois pas le problème que cela poserait, donc vous devez parler
> de la voix principale. Mais dans celle-ci, je ne comprends pas ce
> qui se produit.

Ah non effectivement.  De ce point de vue votre code est équivalent au
mien (je n’avais pas besoin de mettre \context Voice).

> LilyPond se fend pourtant d'une plainte « impossible de terminer slur ».
> Qu'est-ce qui se passe ?

En copiant $note, vous copiez également toutes les 'articulations
qu’elle se trimballe.  (En l’occurrence une fin de liaison). Ajoutez
#(display-scheme-music note) à peu près n’importe où dans votre
fonction et vous pourrez vous en rendre compte.

> En effet, j'ai succombé au péché originel de la programmation
> qui consiste à ne pas tester tous les cas.

Bin dans le genre, moi j’ai posté une fonction toute bête en haut du
thread sans même penser que ça risquerait d’être utilisé dans un bloc
\relative…

> Si d'aventure vous le faisiez, prévenez-moi : cela me fournira un exemple
> pour comprendre enfin les graveurs Scheme !

Moui, dans le cas présent je pense que ça mériterait d’être fait de
façon plus complexe en créant un grob etc. (voir le regtest
multi-measure-rest-reminder.ly). Mais si vous cherchez un exemple bête
et méchant de Scheme engraver, vous pouvez voir celui que j’ai posté
ici dernièrement :
https://lists.gnu.org/archive/html/lilypond-user/2020-05/msg00125.html

(D’ailleurs je me suis fait hier la réflexion que finalement n’importe
quelle fonction lambda dans \applyContext peut être \consist-ée comme
un Scheme translator au niveau du contexte. Mais les vrais engravers
vont un peu au-delà, avec différents hooks possibles correspondants au
différents moments successifs du traitement de la partition, comme
vous le verrez avec les trois regtests scheme-engraver.ly,
scheme-engraver-instance.ly et scheme-text-spanner.ly.)

V.



reply via email to

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