\grace avec arranger.ly

Bonjour à tous !

J'ai deux questions concernant les notes de type \grace dans l'utilisation d'arranger.ly

1. Y-a-t-il un moyen simple de supprimer une \grace sans toucher au reste de la musique ?

exemple :

(rm 'vl1 5 #{\grace b,8 c2#})

(apply-to 'vl1 (???) 5 6) ==> fonction pour que la musique devienne {c2} au 'vl1 mesure 5 ?

2. Y-a-t-il un moyen de mettre des nuances sur des \grace en utilisant assoc-pos-dyn ?

par exemple écrire l'équivalent de ça :

{\acciaccatura {c16\< cis d} es2\mf}

Merci !

Bonjour à tous !

J'ai deux questions concernant les notes de type \grace dans
l'utilisation d'arranger.ly

1. Y-a-t-il un moyen simple de supprimer une \grace sans toucher au
reste de la musique ?

exemple :

(rm 'vl1 5 #{\grace b,8 c2#})

#(let ((m #{\grace b,8 c2#})
        (del-grace (set-del-events 'GraceMusic)))
    (rm 'vl1 14 m) ; avec \grace
    (rm 'vl2 14 (del-grace m)) ; sans \grace
    ; enlever toutes les \grace de 'instru entre mesures 14 et 25 :
    (apply-to 'instru del-grace 14 25)
    )

Pour la question 2, c'est plus difficile mais là, je dois partir, je répondrai ce soir.

···

Le 2021-04-02 09:40, Clement Caillol a écrit :

--
Gilles

Merci !

Je comprends pourquoi je n'y a arrivais pas, je cherchais dans la doc un 'GraceEvent... Que je ne trouvais pas évidement ! Donc 'GraceMusic, c'est noté !

Clément Caillol

···

From: Gilles Thibault <****@****>
Sent: Friday, April 2, 2021 4:14:13 PM
To: Clement Caillol <****@****>
Cc: Lilypond - Liste lilypond-user-fr@gnu.org; lilypond-user-fr <lilypond-user-fr-bounces+gillesth=****@****>
Subject: Re: \grace avec arranger.ly

Le 2021-04-02 09:40, Clement Caillol a écrit :

Bonjour à tous !

J'ai deux questions concernant les notes de type \grace dans
l'utilisation d'arranger.ly

  1. Y-a-t-il un moyen simple de supprimer une \grace sans toucher au
    reste de la musique ?

exemple :

(rm 'vl1 5 #{\grace b,8 c2#})

#(let ((m #{\grace b,8 c2#})
(del-grace (set-del-events 'GraceMusic)))
(rm 'vl1 14 m) ; avec \grace
(rm 'vl2 14 (del-grace m)) ; sans \grace
; enlever toutes les \grace de 'instru entre mesures 14 et 25 :
(apply-to 'instru del-grace 14 25)
)

Pour la question 2, c'est plus difficile mais là, je dois partir, je
répondrai ce soir.

--
Gilles

\displayMusic { \grace b,8 c2 }

=>

(make-music
   'SequentialMusic
   'elements
   (list (make-music
           'GraceMusic ; <- GraceMusic
           'element
           (make-music
             'SequentialMusic
             'elements
             (list (make-music
                     'SequentialMusic
                     'elements
                     '())
                   (make-music
                     'NoteEvent
                     'duration
                     (ly:make-duration 3)
                     'pitch
                     (ly:make-pitch -2 6))
                   (make-music
                     'SequentialMusic
                     'elements
                     '()))))
         (make-music
           'NoteEvent
           'duration
           (ly:make-duration 1)
           'pitch
           (ly:make-pitch -1 0))))

Ceci dit, c'est vrai que le nommage interne des éléments de musique dans Lilypond est parfois déconcertant :

  'NoteEvent 'RestEvent 'SlurEvent 'ArticulationEvent etc... mais 'EventChord !
et puis donc aussi 'SequentialMusic 'GraceMusic : pourquoi pas SequentialEvent et GraceEvent, j'en sais rien.

···

Le 2021-04-02 16:47, Clément CAILLOL a écrit :

Merci !

Je comprends pourquoi je n'y a arrivais pas, je cherchais dans la doc
un 'GraceEvent... Que je ne trouvais pas évidement ! Donc 'GraceMusic,
c'est noté !

Clément Caillol

________________________________
From: Gilles Thibault <****@****>
Sent: Friday, April 2, 2021 4:14:13 PM
To: Clement Caillol <****@****>
Cc: Lilypond - Liste <lilypond-user-fr@gnu.org>; lilypond-user-fr
<lilypond-user-fr-bounces+gillesth=****@****>
Subject: Re: \grace avec arranger.ly

Le 2021-04-02 09:40, Clement Caillol a écrit :

Bonjour à tous !

J'ai deux questions concernant les notes de type \grace dans
l'utilisation d'arranger.ly

1. Y-a-t-il un moyen simple de supprimer une \grace sans toucher au
reste de la musique ?

exemple :

(rm 'vl1 5 #{\grace b,8 c2#})

#(let ((m #{\grace b,8 c2#})
        (del-grace (set-del-events 'GraceMusic)))
    (rm 'vl1 14 m) ; avec \grace
    (rm 'vl2 14 (del-grace m)) ; sans \grace
    ; enlever toutes les \grace de 'instru entre mesures 14 et 25 :
    (apply-to 'instru del-grace 14 25)
    )

--
Gilles

Bonjour,

Merci !

Je comprends pourquoi je n'y a arrivais pas, je cherchais dans la doc
un 'GraceEvent... Que je ne trouvais pas évidement ! Donc 'GraceMusic,
c'est noté !

À toutes fins utiles, la liste complète est ici :

Clément Caillol

________________________________
From: Gilles Thibault <****@****>
Sent: Friday, April 2, 2021 4:14:13 PM
To: Clement Caillol <****@****>
Cc: Lilypond - Liste <lilypond-user-fr@gnu.org>; lilypond-user-fr
<lilypond-user-fr-bounces+gillesth=****@****>
Subject: Re: \grace avec arranger.ly

Bonjour à tous !

J'ai deux questions concernant les notes de type \grace dans
l'utilisation d'arranger.ly

1. Y-a-t-il un moyen simple de supprimer une \grace sans toucher au
reste de la musique ?

exemple :

(rm 'vl1 5 #{\grace b,8 c2#})

#(let ((m #{\grace b,8 c2#})
(del-grace (set-del-events 'GraceMusic)))
(rm 'vl1 14 m) ; avec \grace
(rm 'vl2 14 (del-grace m)) ; sans \grace
; enlever toutes les \grace de 'instru entre mesures 14 et 25 :
(apply-to 'instru del-grace 14 25)
)

\displayMusic { \grace b,8 c2 }

=>

(make-music
'SequentialMusic
'elements
(list (make-music
'GraceMusic ; <- GraceMusic
'element
(make-music
'SequentialMusic
'elements
(list (make-music
'SequentialMusic
'elements
'())
(make-music
'NoteEvent
'duration
(ly:make-duration 3)
'pitch
(ly:make-pitch -2 6))
(make-music
'SequentialMusic
'elements
'()))))
(make-music
'NoteEvent
'duration
(ly:make-duration 1)
'pitch
(ly:make-pitch -1 0))))

Ceci dit, c'est vrai que le nommage interne des éléments de musique dans Lilypond est parfois déconcertant :

'NoteEvent 'RestEvent 'SlurEvent 'ArticulationEvent etc... mais 'EventChord !
et puis donc aussi 'SequentialMusic 'GraceMusic : pourquoi pas SequentialEvent et GraceEvent, j'en sais rien.

Je ne sais pas s'il y a une règle formelle à ce sujet,
mais en général, s'appellent Event toutes les expressions
musicales qui sont susceptibles d'êtres transformées en
événements de flux (stream events) pour être diffusées sur
les ondes radios des graveurs. Donc, NoteEvent, car il est
voué à devenir un note-event que lira le Note_heads_engraver
par exemple. Par opposition, se terminent en général par Music
les noms des conteneurs à expressions musicales, qui ne
sont pas diffusés directement mais dans lesquelles avancent
des itérateurs qui diffusent leur contenu. D'où SequentialMusic,
SimultaneousMusic, ContextSpeccedMusic, TransposedMusic et
encore quelques autres. EventChord est un cas particulier,
que j'avoue ne jamais avoir compris totalement.

Cordialement,
Jean

···

Le 02/04/2021 à 19:35, Gilles Thibault a écrit :

Le 2021-04-02 16:47, Clément CAILLOL a écrit :

Le 2021-04-02 09:40, Clement Caillol a écrit :

2. Y-a-t-il un moyen de mettre des nuances sur des \grace en utilisant
assoc-pos-dyn ?

Hum, en fait pour le moment la réponse est non. Je vais y réfléchir.
On peut eventuellement en attendant, utiliser les possibilités de "tweak"er rapidement la position d'une nuance.
"3 p" donne <>-\p (mesure 3)
"3 p#1.5" donne <>-\tweak self-alignment-X #1.5 -\p
"3 p##5#2" donne <>-\tweak extra-offset #'(5 . 2) -\p
Mais évidemment trouver les bonnes valeurs est fastidieux.

···

--
Gilles

2. Y-a-t-il un moyen de mettre des nuances sur des \grace en utilisant
assoc-pos-dyn ?

Hum, en fait pour le moment la réponse est non.

... mais maintenant oui !
J'ai mis en ligne (lien tout en bas) une nouvelle version de arranger.ly qui permet donc de mettre les nuances dans une section \grace en utilisant assoc-pos-dyn.
Il suffira pour cela d'utiliser le caractère : (2 points) suivi immédiatement de la durée (8 16 ...) du skip qui "portera" la nuance à l'intérieur de la section \grace.
Par exemple "p:8" produira { \grace { s8\p } <> }
":16 mf:16" produira { \grace { s16 s16\mf } <> }
"<:16 :s16*2 f" produira { \grace { s16\< s16*2 } <>\f }
On pourra utiliser conjointement le caractère # pour les "tweaks" de position des nuances mais il devra être placé après (et sans espaces) la section : (grace)
"mf:8#1" produira { \grace { s8-\tweak self-alignment-X #1 \mf } <> }

% test
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.20.0"
\include "arranger.ly"

global = s1
all = #'(instru1 instru2 instru3)
#(init all)

music = { d2 \acciaccatura {c16 cis d } es2 }

#(rm all 1 (rel 1 0 -1 music))

assocDynList = #(assoc-pos-dyn
"1 p / (1 2) <:16 :16*2 f" 'instru1 ; basic cresc
"1 p / (1 2) :16 mp:16 mf:16 f" 'instru2 ; no tweaks
"1 p / (1 2) :16 mp:16#1.3#-1.2 mf:16#0#-0.6 f#-0.2#-0.6" 'instru3 ; with tweaks
)

\score {
    <<
      \new Staff $(sim global instru1 (add-dyn 'instru1))
      \new Staff $(sim global instru2 (add-dyn 'instru2))
      \new Staff $(sim global instru3 (make-clef-set "bass") (add-dyn 'instru3))
    >>
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Github

Direct access :
http://gillesth.free.fr/Lilypond/arranger-GIT-copy/arranger.ly.zip

test.png

···

Le 2021-04-03 00:15, Gilles Thibault a écrit :

--
Gilles

Merci beaucoup Gilles !

Clément Caillol

···

From: Gilles Thibault <****@****>
Sent: Wednesday, April 7, 2021 9:09:39 PM
To: Clement Caillol <****@****>
Cc: Lilypond - Liste lilypond-user-fr@gnu.org; lilypond-user-fr <lilypond-user-fr-bounces+gillesth=****@****>
Subject: Re: \grace avec arranger.ly

Le 2021-04-03 00:15, Gilles Thibault a écrit :

  1. Y-a-t-il un moyen de mettre des nuances sur des \grace en utilisant
    assoc-pos-dyn ?

Hum, en fait pour le moment la réponse est non.
... mais maintenant oui !
J'ai mis en ligne (lien tout en bas) une nouvelle version de arranger.ly
qui permet donc de mettre les nuances dans une section \grace en
utilisant assoc-pos-dyn.
Il suffira pour cela d'utiliser le caractère : (2 points) suivi
immédiatement de la durée (8 16 ...) du skip qui "portera" la nuance à
l'intérieur de la section \grace.
Par exemple "p:8" produira { \grace { s8\p } <> }
":16 mf:16" produira { \grace { s16 s16\mf } <> }
"<:16 :s162 f" produira { \grace { s16< s162 } <>\f }
On pourra utiliser conjointement le caractère # pour les "tweaks" de
position des nuances mais il devra être placé après (et sans espaces) la
section : (grace)
"mf:8#1" produira { \grace { s8-\tweak self-alignment-X #1 \mf
} <> }

% test
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.20.0"
\include "arranger.ly"

global = s1
all = #'(instru1 instru2 instru3)
#(init all)

music = { d2 \acciaccatura {c16 cis d } es2 }

#(rm all 1 (rel 1 0 -1 music))

assocDynList = #(assoc-pos-dyn
"1 p / (1 2) <:16 :16*2 f" 'instru1 ;
basic cresc
"1 p / (1 2) :16 mp:16 mf:16 f" 'instru2 ; no
tweaks
"1 p / (1 2) :16 mp:16#1.3#-1.2 mf:16#0#-0.6 f#-0.2#-0.6" 'instru3 ;
with tweaks
)

\score {
<<
\new Staff $(sim global instru1 (add-dyn 'instru1))
\new Staff $(sim global instru2 (add-dyn 'instru2))
\new Staff $(sim global instru3 (make-clef-set "bass") (add-dyn
'instru3))

}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Github
https://github.com/gilles-th/arranger.ly

Direct access :
http://gillesth.free.fr/Lilypond/arranger-GIT-copy/arranger.ly.zip

--
Gilles