|
From: | Pierre Perol-Schneider |
Subject: | Re: nom des variables utilisant des chiffres ? |
Date: | Fri, 8 Nov 2019 21:30:18 +0100 |
On 11/8/19, Pierre Perol-Schneider <address@hidden> wrote:
> C'est malin ça, bravo Valentin.
> En revanche, ça ne compile pas bien, peut-être :
Hello Pierre,
je ne comprends pas, chez moi les deux lignes compilent aussi bien :
%%%%%%%%%%%
\version "2.21.0"
#(define (dynamic? x)
(let ((name (ly:music-property x 'name)))
(or
(eq? name 'DynamicEvent)
(eq? name 'AbsoluteDynamicEvent)
(eq? name 'CrescendoEvent)
(eq? name 'DecrescendoEvent)
(eq? name 'SpanDynamicEvent))))
enleverNuances =
#(define-music-function (m) (ly:music?)
(music-filter
(lambda (x)
(let ((tags (ly:music-property x 'tags))
(dir (ly:music-property x 'direction)))
(not (and
(dynamic? x)
(not (memq 'ici tags))
(null? dir)))))
m))
musique = { c'1\< c'\f c'_\pp c'\fff c' \tag #'ici \sfz }
musiquePPS = { c'1\< c'\f c'_\pp c'\fff c' -\tag ici \sfz }
{ \enleverNuances \musique }
{ \enleverNuances \musiquePPS }
%%%%%%%%%%%%%%
D’ailleurs je ne connaissais pas cette syntaxe et je ne la comprends
pas très bien : \tag peut prendre un simple_string plutôt qu’un
scm_symbol maintenant ? Et ce tiret, à quoi sert-il ? J’ai d’abord cru
que c’était pour utiliser \tag comme un post-event mais un petit coup
de \displayMusic me montre qu’il ne s’applique qu’à l’événement qui
suit (AbsoluteDynamic) et non à la note qui le précède…
V.
[Prev in Thread] | Current Thread | [Next in Thread] |