[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: smart transpose snippet from the LSR is not working with 2.11.43
From: |
Mats Bengtsson |
Subject: |
Re: smart transpose snippet from the LSR is not working with 2.11.43 |
Date: |
Fri, 23 May 2008 13:32:29 +0200 |
User-agent: |
Thunderbird 2.0.0.5 (X11/20070716) |
As you probably know, the LSR site runs version 2.10.something.
However, most (!?) LSR snippets have been updated for version 2.11 and
are included
in the documentation for 2.11. If you look at the corresponding snippet at
http://lilypond.org/doc/v2.11/input/lsr/lilypond-snippets/Pitches#Pitches
you should find a version that works well for you.
/Mats
Ole Schmidt wrote:
I attach the snippet below, it is not working under 2.11.43
if someone can confirm it or take a look in the code,
thanks ole
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#(define (naturalise-pitch p)
(let* ((o (ly:pitch-octave p))
(a (ly:pitch-alteration p))
(n (ly:pitch-notename p)))
(cond
((and (> a 1) (or (eq? n 6) (eq? n 2)))
(set! a (- a 2))
(set! n (+ n 1)))
((and (< a -1) (or (eq? n 0) (eq? n 3)))
(set! a (+ a 2))
(set! n (- n 1))))
(cond
((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
(if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
(if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
(ly:make-pitch o n a)))
#(define (naturalise music)
(let* ((es (ly:music-property music 'elements))
(e (ly:music-property music 'element))
(p (ly:music-property music 'pitch)))
(if (pair? es)
(ly:music-set-property!
music 'elements
(map (lambda (x) (naturalise x)) es)))
(if (ly:music? e)
(ly:music-set-property!
music 'element
(naturalise e)))
(if (ly:pitch? p)
(begin
(set! p (naturalise-pitch p))
(ly:music-set-property! music 'pitch p)))
music))
music = \relative c' { c4 d e f g a b c }
naturaliseMusic =
#(define-music-function (parser location m)
(ly:music?)
(naturalise m))
\score {
\context Staff {
\transpose c ais \music
\naturaliseMusic \transpose c ais \music
\transpose c deses \music
\naturaliseMusic \transpose c deses \music
}
\layout { ragged-right = ##t}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user
--
=============================================
Mats Bengtsson
Signal Processing
School of Electrical Engineering
Royal Institute of Technology (KTH)
SE-100 44 STOCKHOLM
Sweden
Phone: (+46) 8 790 8463
Fax: (+46) 8 790 7260
Email: address@hidden
WWW: http://www.s3.kth.se/~mabe
=============================================