Merci pour ta réponse, Mike !
Effectivement, ça m’a l’air plutôt compliqué. Je pense que ça ne
doit pas être très important, dans la partition, ça doit donner
des indications sur ce que jouent les autres, un truc du genre… Si
vraiment je n’arrive pas à élucider le mystère, je chercherai à
les reproduire. Si je trouve, j’essaierai de noter ça plus
classiquement.
Bien cordialement,
L.C.
Le 13/05/13 10:57,
address@hidden a écrit :
Bonsoir à tous,
Je suis en train de graver une partition assez chargée, et à
un endroit il y a des guidons (custodes) en même temps que des
notes. J’ai pas encore élucidé ce que ça voulait dire (ça va
venir quand j’aurai vu les autres parties, car c’est en
parties séparées). Mais j’aimerais les mettre. Il doit y avoir
un moyen ?
Exemple en pièce jointe.
Merci d’avance !
L.C.
C'est un peu compliqué. Admettons que le guidon est un
Script, il faudrait que son objet side-support-elements ne
contienne pas de hampe. Ceci est possible si tu crées un graveur
(\Remove_stem_engraver, par exemple) qui supprime les hampes de
la liste side-support-elements dans la méthode `finalize'.
Un peu de pseudocode...
#(define (do-filtering grob-array)
"Fonction qui enlève les hampes de cette liste")
#(define (is-guidon grob)
"Fonction qui détermine si un script est un guidon")
#(define (Remove_stem_engraver ctx)
(let ((scripts '()))
(make-engraver
(acknowledgers
((script-interface trans grob source)
;; whenever a Script is acknowledged,
;; add it to `scripts' list
(set! scripts (cons grob scripts))))
((finalize trans)
;; if any Script grobs exist,
;; remove stem as side support
(for-each (lambda (script)
(if (is-guidon script) (ly:grob-set-object! script
'side-support-elements (do-filtering (ly:get-object script
'side-support-elements)))))
scripts)
;; clear scripts ready for next timestep
(set! scripts '())))))
Pour voir comment créer un Scheme engraver, il y a :
Bien cordialement,
~Mike