[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Résolu ?] [Scheme] Voix séparées ou ensemble - suite
From: |
Olivier Miakinen |
Subject: |
[Résolu ?] [Scheme] Voix séparées ou ensemble - suite |
Date: |
Wed, 15 Nov 2017 01:15:48 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
Le 14/11/2017 22:53, 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 :
>
> [...]
>
> 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 ?
Je pense que j'ai résolu mon petit problème, en tout cas ceci semble
fonctionner :
=====================================================================
\version "2.18.2"
silence = #(define-music-function
(parser location musique) (ly:music?)
(skip-of-length musique))
notes = { a'4 b'8. c''16 d''2 }
<<
{ \notes | \notes | \silence \notes | }
\\
{ \notes | \silence \notes | \notes | }
>>
=====================================================================
De même qu'avec ça :
=====================================================================
silence = #(define-music-function
(parser location musique) (ly:music?)
#{
#(skip-of-length musique)
#})
=====================================================================