Subject: \grace avec arranger.ly

From: Clement Caillol <[email-masked]>
Date: Fri, 2 Apr 2021 09:40:50 +0200

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 !

---

From: Gilles Thibault <[email-masked]>
Date: Fri, 02 Apr 2021 16:14:13 +0200

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

---

From: Clément CAILLOL <[email-masked]>
Date: Fri, 2 Apr 2021 14:47:15 +0000

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 <[email-masked]>
Sent: Friday, April 2, 2021 4:14:13 PM
To: Clement Caillol <[email-masked]>
Cc: Lilypond - Liste <[email-masked]>; lilypond-user-fr <lilypond-user-fr-bounces+gillesth=[email-masked]>
Subject: Re: \grace avec arranger.ly

--
Gilles

---

From: Gilles Thibault <[email-masked]>
Date: Fri, 02 Apr 2021 19:35:49 +0200

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
> 
> Cc: Lilypond - Liste <[email-masked]>; lilypond-user-fr
> <lilypond-user-fr-bounces+gillesth=[email-masked]>

\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.

-- 
Gilles

---

From: Jean Abou Samra <[email-masked]>
Date: Fri, 2 Apr 2021 19:45:02 +0200

Bonjour,

>> un 'GraceEvent... Que je ne trouvais pas évidement ! Donc 'GraceMusic,

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

http://lilypond.org/doc/v2.22/Documentation/internals/music-expressions

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

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

---

From: Gilles Thibault <[email-masked]>
Date: Sat, 03 Apr 2021 00:15:21 +0200

> 2. Y-a-t-il un moyen de mettre des nuances sur des \grace en utilisant

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

---

From: Gilles Thibault <[email-masked]>
Date: Wed, 07 Apr 2021 21:09:39 +0200

Le 2021-04-03 00:15, Gilles Thibault a écrit :
> 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
https://github.com/gilles-th/arranger.ly

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

-- 
Gilles

---

From: Clément CAILLOL <[email-masked]>
Date: Thu, 8 Apr 2021 10:24:48 +0000

Merci beaucoup Gilles !

Clément Caillol
Sent: Wednesday, April 7, 2021 9:09:39 PM

% test

global = s1

\score {
    <<
}

Github

Direct access :

--
Gilles