[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
A propos de la fonction divByTwo
From: |
Phil Hézaine |
Subject: |
A propos de la fonction divByTwo |
Date: |
Thu, 27 Feb 2014 18:07:46 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 |
Bonsoir à tous,
la fonction divByTwo divise toutes les durées d'un fichier:
\version "2.18.1"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
divByTwo = #(define-music-function (parser location music) (ly:music?)
(music-map
(lambda (evt)
(let ((dur (ly:music-property evt 'duration)))
(if (ly:duration? dur)
(ly:music-set-property! evt 'duration
(ly:make-duration
(1+ (ly:duration-log dur))
(ly:duration-dot-count dur)
(car (ly:duration-factor dur))
(cdr (ly:duration-factor dur)))))
evt))
music
))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Est-il possible de rajouter à cette fonction un silence après chaque
"duration" traitée qui soit de la même valeur que la division effectuée?
Le but est de pouvoir générer un fichier .ly en midi qui séparerait
toutes les notes par la moitié de leur valeur.
Peu importe s'il y a alors, par exemple, deux r8 au lieu d'un r4
puisqu'il ne s'agit pas de graphique.
Un Schemeur entrevoit-il une solution?
Phil.
- A propos de la fonction divByTwo,
Phil Hézaine <=