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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Une fonction pour saisir plus simplement certain rythmes


From: Gilles THIBAULT
Subject: Re: Une fonction pour saisir plus simplement certain rythmes
Date: Wed, 13 Feb 2008 22:38:50 +0100


Je voudrais pouvoir saisir quelque chose comme
\truc 8 { do do do re | mi re mi re |}
Et  interprété comme :
do8. do16 do8. re16 | mi8. re16 mi8. re16

Ceci a l'air de marché :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.11.37" %%devrait marcher aussi pour la 2.10
#(define isOdd #f)


#(define (transformEachNote music)
( let ((dur (ly:music-property music 'duration)))
(if (ly:duration? dur)
 (begin
  (if isOdd
(set! (ly:music-property music 'duration) (ly:make-duration 3 1 1 1)) %% croche pointée (set! (ly:music-property music 'duration) (ly:make-duration 4 0 1 1)) %% double
  )
  (set! isOdd (not isOdd))
 ))
music
))

MakeChrochePointeDouble = #(define-music-function (parser location m) (ly:music?)
(begin
(set! isOdd #t)
(music-map (lambda (x) (transformEachNote x)) m)
))

%%%%%%%%%%%%%

{ \new Staff \relative{
 \MakeChrochePointeDouble {c d e f g f e d}
 c1
}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%




reply via email to

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