[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme] Voix séparées ou ensemble - suite
From: |
Olivier Miakinen |
Subject: |
Re: [Scheme] Voix séparées ou ensemble - suite |
Date: |
Tue, 14 Nov 2017 22:53:51 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
Le 11/11/2017 14:05, j'écrivais :
>
> [...] je me demande s'il n'y a pas moyen en Scheme de lui passer une
> expression musicale et qu'il remplace cette expression en une série
> de \skip de durée équivalente.
>
> Par exemple, en lui passant { c''8 r f' r f'' r g' r }, il pourrait
> retourner { s1 } ou (ce qui revient au même) { s8 s s s s s s s }.
En cherchant dans le répertoire scm, je crois que j'ai trouvé ce dont
j'ai besoin dans le fichier music-functions.scm :
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-public (skip-of-length mus)
"Create a skip of exactly the same length as @var{mus}."
(let* ((skip
(make-music
'SkipEvent
'duration (ly:make-duration 0 0))))
(make-event-chord (list (ly:music-compress skip (ly:music-length
mus))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Mais c'est une fonction définie par define-public et non par
define-music-function. Est-ce que je peux l'appeler directement
depuis lilypond, ou bien est-ce que je dois l'enrober d'une
manière ou d'une autre ?