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: Pierre Perol-Schneider
Subject: Re: nom des variables utilisant des chiffres ?
Date: Fri, 8 Nov 2019 17:33:27 +0100

C'est malin ça, bravo Valentin.
En revanche, ça ne compile pas bien, peut-être :

musique = { c'1\< c'\f c'_\pp c'\fff c' -\tag ici \sfz }

?
Cordialement,
Pierre

Le ven. 8 nov. 2019 à 14:47, Valentin Villenave <address@hidden> a écrit :
On 11/8/19, address@hidden <address@hidden> wrote:
> J’aimerais pour le repérage facile dire par exemple \tag #’’sqel150 où 150
> est le numéro de mesure.

Alors là ce sont des tags, et non des noms de variables. Oui, les
chiffres sont autorisés (par contre attention à la syntaxe : \tag
#'sqel150 avec une apostrophe).

> Je dois utiliser un nombre important de Tag dans une partition de
> direction,
> utilisant \removeWithTag pour éviter l’impression de crescendo, decrescendo
> , Sf ,FF etc définis dans le squelette de la partition.

Il y a beaucoup plus simple ; voici la fonction que j’utilise ; elle
me permet d’enlever toutes les nuances sauf celles que j’ai tagguées
(ici avec le mot-clé 'ici) et celles pour lesquelles j’ai indiqué une
direction explicite (c’est-à-dire avec _\ff ou ^\ff plutôt que \ff
tout seul).

Il est également possible de procéder en sens inverse : garder toutes
les nuances sauf celles préselectionnées (il suffit d’enlever le "not"
dans le code, avec la parenthèse correspondante).

%%%%%%%%%%

#(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 }

{
  \enleverNuances \musique
}

%%%%%%%%%%%

V.


reply via email to

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