lilypond-user-fr
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]