|
From: | Christophe Pochon |
Subject: | Re: Fonction scheme pour mordant explicite |
Date: | Wed, 13 Jul 2016 04:35:31 +0200 |
Bonjour.
Je suis en train de bricoler une fonction scheme pour automatiser l'écriture d'un mordant explicite : le principe consiste à extraire le pitch de la note sur laquelle s'applique la fonction, de créer une petite note avec ce même pitch, suivie d'une autre petite note 1 ton plus haut.
Problème : ça marche quand les deux notes sont séparées d'un ton, mais lorsqu'elles sont séparées d'un demi-ton, ça met des altérations non désirées... Il faudrait donc transposer non pas d'un ton, mais d'un degré dans l'échelle du morceau. Comment faire ?
Mon exemple :
\version "2.18.2"
\language "english"
mord = #(define-music-function (parser location myNote)
(ly:music?)
(define myGnote
(make-music 'NoteEvent
'duration (ly:make-duration 5 0)
'pitch (ly:music-property myNote 'pitch)
)
)
(define myOtherGnote
(make-music 'NoteEvent
'duration (ly:make-duration 5 0)
'pitch (ly:pitch-transpose
(ly:music-property myNote 'pitch) (ly:make-pitch 0 1 0))
)
)
#{
\acciaccatura {
#myGnote
#myOtherGnote
}
#myNote
#}
)
{
\key c \minor
\mord c'4 \mord d' ef'
}
_______________________________________________
liste de diffusion lilypond-user-fr
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
[Prev in Thread] | Current Thread | [Next in Thread] |