[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: nom des variables utilisant des chiffres ?
From: |
daniel.bernair |
Subject: |
RE: nom des variables utilisant des chiffres ? |
Date: |
Sun, 10 Nov 2019 11:11:21 +0100 |
Bonjour Valentin,
Contrairement à ce que j'ai compris ta fonction ne s'exécute pas bien.
Voici ta fonction adaptée :
%{
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))))
garderNuances =
#(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 'garder tags))
(null? dir)))))
m))
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)
(memq 'garder tags)
(null? dir)))))
m))
%{ exécution :
{
\enleverNuances \musique
}
{
\garderNuances \musique
}
Et voici le code utilisé
scoreAPiccoloPart = \new Staff \with {
instrumentName = "Pic."
shortInstrumentName = "Pic."
midiInstrument = "piccolo"
}
%{\removeWithTag #' (sqmenFA sqsigCrA sqsigCrB sqsigCrC sqsigCrD sqsigCrE
sqsigCrF sqsigCrG sqsigCrH
sqsigCrJ sqsigCrK sqsigDcA sqsigDcB sqsigDcC sqsigDcD
sqFFA sqFFB sqSFA sqSFB sqSFC
sqSFD sqSFE sqFsFA sqCreCA sqCreCB sqsempre)
%}
<< \scoreAPiccolo << \garderNuances \squelinst >> >> %%%%%%%% inorer
nuances du squelette
J'ai essayé \garderNuances, \enleverNuances , placés avant le premier << ,
après le premier << , devant ScoreAPiccolo, après \scoreAPiccolo ,
\enleverNuances et \squelinst entre { } ou << >> rien à faire. Le nom des
fonctions \enleverNuances et \garderNuances sont reconnus.
J'ai peut-être compris à l'enevers garder et enlever, mais rien à faire.
Voici un extrait du squelette :
\tag garder s2*7 \myBreakO %8
s2*7 \myBreakO %15
s2-\tag sqFFA _\ff
s2*7 \myBreakO %23
\repeat volta2 {
s2*5 \myBreakO %28 reprise mesures 23 à 42
s2*3 %31
s2 %32
s2*3 %35
s2 \myBreakO %36
s2*3 %39
s2*4 \myBreakO %43 ou 23 ? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
}
%%% \set Score.skipTypesetting = ##f %% reprendre les lignes jusqu'au ##f
s2 %44
s2*7 \myBreakO %51
s2*8 \myBreakO %59
s8-\tag sqmenFA -\tweak self-alignment-X #0.5 _\menoF s4. %60
s2*3 %63
s2 %64
%%%%%%%%%%%%%%%%%%%%%%%%%%
Merci de votre aide à Toi et Pierre
Daniel Bernair
-----Message d'origine-----
De : address@hidden <address@hidden> De la part de Valentin Villenave
Envoyé : vendredi 8 novembre 2019 20:02
À : Pierre Perol-Schneider <address@hidden>
Cc : Daniel Bernair <address@hidden>; lilypond-user-fr <address@hidden>
Objet : Re: nom des variables utilisant des chiffres ?
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.
This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com
- nom des variables utilisant des chiffres ?, daniel.bernair, 2019/11/08
- Re: nom des variables utilisant des chiffres ?, Valentin Villenave, 2019/11/08
- Re: nom des variables utilisant des chiffres ?, Pierre Perol-Schneider, 2019/11/08
- Re: nom des variables utilisant des chiffres ?, Valentin Villenave, 2019/11/08
- Re: nom des variables utilisant des chiffres ?, Pierre Perol-Schneider, 2019/11/08
- Re: nom des variables utilisant des chiffres ?, Pierre Perol-Schneider, 2019/11/09
- RE: nom des variables utilisant des chiffres ?,
daniel.bernair <=
- Re: nom des variables utilisant des chiffres ?, Valentin Villenave, 2019/11/10
- RE: nom des variables utilisant des chiffres ?, daniel.bernair, 2019/11/11
- RE: nom des variables utilisant des chiffres ?, daniel.bernair, 2019/11/13
- Re: nom des variables utilisant des chiffres ?, Valentin Villenave, 2019/11/13
- RE: nom des variables utilisant des chiffres ?, daniel.bernair, 2019/11/13
- Message not available
- Re: nom des variables utilisant des chiffres ?, Valentin Villenave, 2019/11/11
- RE: nom des variables utilisant des chiffres ?, daniel.bernair, 2019/11/11
RE: nom des variables utilisant des chiffres ?, daniel.bernair, 2019/11/08