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

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

Re: nom des variables utilisant des chiffres ?


From: Valentin Villenave
Subject: Re: nom des variables utilisant des chiffres ?
Date: Fri, 8 Nov 2019 20:02:12 +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.



reply via email to

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