|
From: | Gilles THIBAULT |
Subject: | Re: réécrire en changeant le temps |
Date: | Mon, 25 May 2009 12:47:40 +0200 |
Il y a bien une fonction \scaleDurations (non
documentée apparemment) dans le fichier 'music-functions-init.ly' , mais il
ne modifie que la durée réelle et non pas la durée affichée.
Cette petite fonction semble
marcher.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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 )) music = \relative { c2 d4 e8 f | g2. f4 | e2
d | c1 R1*3 c'1}
\new Staff { \time 2/4 \divByTwo \music }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Gilles
|
[Prev in Thread] | Current Thread | [Next in Thread] |