]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly
LSR updates
[lilypond.git] / Documentation / snippets / transposing-pitches-with-minimum-accidentals-smart-transpose.ly
index 7e9acaf9946f15e6332def74096c9a1baf514d53..9735ef2f1eed1d491ab339835bdd335b0f59736e 100644 (file)
@@ -1,11 +1,15 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% DO NOT EDIT this file manually; it is automatically
+%% generated from LSR http://lsr.dsi.unimi.it
+%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
+%% and then run scripts/auxiliar/makelsr.py
+%%
 %% This file is in the public domain.
-\version "2.13.1"
+\version "2.14.0"
 
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: b2d4318d6c53df8469dfa4da09b27c15a374d0ca
+%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
 doctitlees = "Transportar música con el menor número de alteraciones"
 texidoces = "
 Este ejemplo utiliza código de Scheme para forzar las
@@ -36,7 +40,34 @@ naturales.
 
 "
 
-%% Translation of GIT committish: d96023d8792c8af202c7cb8508010c0d3648899d
+
+%% Translation of GIT committish: bbf8fd2b5a3ebf20a1fdc91613dc49045a53a270
+  texidocit = "
+Questo esempio usa del codice Scheme per imporre delle modifiche
+enarmoniche alle note che permettano di avere il numero minimo di
+alterazioni.  In questo caso si applica la seguente regola:
+
+Le doppie alterazioni devono essere eliminate
+
+
+Si diesis -> Do
+
+
+Mi diesis -> Fa
+
+
+Do bemolle -> Si
+
+
+Fa bemolle -> Mi
+
+
+In questo modo vengono scelti i suoni enarmonici più semplici.
+
+"
+  doctitleit = "Trasposizione delle altezze con numero minimo di alterazioni"
+
+%% Translation of GIT committish: 0a868be38a775ecb1ef935b079000cebbc64de40
   doctitlede = "Noten mit minimaler Anzahl an Versetzungszeichen transponieren."
   texidocde = "Dieses Beispiel benutzt Scheme-Code, um enharmonische
 Verwechslungen für Noten zu erzwingen, damit nur eine minimale Anzahl
@@ -66,6 +97,35 @@ Variante gewählt.
 "
 
 
+%% Translation of GIT committish: 3b125956b08d27ef39cd48bfa3a2f1e1bb2ae8b4
+  texidocfr = "
+Cet exemple, grâce à un peu de code Scheme, donne la priorité aux
+enharmoniques afin de limiter le nombre d'altérations supplémentaires.
+La règle appliquable est@tie{}:
+
+@itemize
+@item
+Les altérations doubles sont supprimées
+
+@item
+Si dièse -> Do
+
+@item
+Mi dièse -> Fa
+
+@item
+Do bémol -> Si
+
+@item
+Fa bémol -> Mi
+
+@end itemize
+
+Cette façon de procéder aboutit à plus d'enharmoniques naturelles.
+
+"
+  doctitlefr = "Transposition et réduction du nombre d'altérations accidentelles"
+
   texidoc = "
 This example uses some Scheme code to enforce enharmonic modifications
 for notes in order to have the minimum number of accidentals.  In this
@@ -86,54 +146,54 @@ C flat -> B
 F flat -> E
 
 
-In this manner, the most natural enharmonic notes are chosen. 
+In this manner, the most natural enharmonic notes are chosen.
 
 "
   doctitle = "Transposing pitches with minimum accidentals (\"Smart\" transpose)"
 } % begin verbatim
 
 #(define (naturalize-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))))
+   (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 (naturalize 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) (naturalize x)) es)))
-    (if (ly:music? e)
-       (ly:music-set-property!
-         music 'element
-         (naturalize e)))
-    (if (ly:pitch? p)
-       (begin
-         (set! p (naturalize-pitch p))
-         (ly:music-set-property! music 'pitch p)))
-    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) (naturalize x)) es)))
+     (if (ly:music? e)
+         (ly:music-set-property!
+          music 'element
+          (naturalize e)))
+     (if (ly:pitch? p)
+         (begin
+           (set! p (naturalize-pitch p))
+           (ly:music-set-property! music 'pitch p)))
+     music))
 
 naturalizeMusic =
 #(define-music-function (parser location m)
-  (ly:music?)
-  (naturalize m))
+   (ly:music?)
+   (naturalize m))
 
 music = \relative c' { c4 d e g }
 
@@ -146,3 +206,4 @@ music = \relative c' { c4 d e g }
   }
   \layout { }
 }
+