From: Graham Percival Date: Tue, 22 Jan 2008 05:10:22 +0000 (-0800) Subject: Fix broken snippet. X-Git-Tag: release/2.11.38-1~32 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=d54f60618aefa4aab5438b3799d9495f01517ddf;p=lilypond.git Fix broken snippet. --- diff --git a/input/lsr/transposing-pitches-with-minimum-accidentals-smart-transpose.ly b/input/lsr/transposing-pitches-with-minimum-accidentals-smart-transpose.ly index f68947abbe..80001e04c0 100644 --- a/input/lsr/transposing-pitches-with-minimum-accidentals-smart-transpose.ly +++ b/input/lsr/transposing-pitches-with-minimum-accidentals-smart-transpose.ly @@ -1,20 +1,8 @@ -%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it -%% This file is in the public domain. -%% Tags: pitches -\version "2.11.35" - -\header { texidoc = " -There is a way to enforce enharmonic modifications for notes in order -to have the minimum number of accidentals. In that case, ``Double -accidentals should be removed, as well as E-sharp (-> F), bC (-> B), bF -(-> E), B-sharp (-> C).'', as proposed by a request for a new feature. -In this manner, the most natural enharmonic notes are chosen in this -example. -" } -% begin verbatim +\version "2.11.33" #(define (naturalise-pitch p) (let* ((o (ly:pitch-octave p)) - (a (ly:pitch-alteration p)) + (a (* 4 (ly:pitch-alteration p))) + ; alteration, a, in quarter tone steps, for historical reasons (n (ly:pitch-notename p))) (cond @@ -32,7 +20,7 @@ example. (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))) + (ly:make-pitch o n (/ a 4)))) #(define (naturalise music) (let* ((es (ly:music-property music 'elements)) @@ -65,8 +53,8 @@ naturaliseMusic = \score { \new Staff { - \transpose c ais \music - \naturaliseMusic \transpose c ais \music + \transpose c ais \music + \naturaliseMusic \transpose c ais \music \break \transpose c deses \music \naturaliseMusic \transpose c deses \music diff --git a/input/new/transposing-pitches-with-minimum-accidentals-smart-transpose.ly b/input/new/transposing-pitches-with-minimum-accidentals-smart-transpose.ly new file mode 100644 index 0000000000..80001e04c0 --- /dev/null +++ b/input/new/transposing-pitches-with-minimum-accidentals-smart-transpose.ly @@ -0,0 +1,65 @@ +\version "2.11.33" +#(define (naturalise-pitch p) + (let* ((o (ly:pitch-octave p)) + (a (* 4 (ly:pitch-alteration p))) + ; alteration, a, in quarter tone steps, for historical reasons + (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 4)))) + +#(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 { + \new Staff { + \transpose c ais \music + \naturaliseMusic \transpose c ais \music + \break + \transpose c deses \music + \naturaliseMusic \transpose c deses \music + } + \layout { ragged-right = ##t} +} + +