]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/lsr/transposing-pitches-with-minimum-accidentals-smart-transpose.ly
Merge commit 'origin'
[lilypond.git] / input / lsr / transposing-pitches-with-minimum-accidentals-smart-transpose.ly
index 00d44c82d4848ded405bad3c804c270ea60d32b3..9570e38e4c003dd6036e0a2aba3ebf815f11f3a3 100644 (file)
@@ -1,11 +1,14 @@
 %% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
-\version "2.11.38"
+%% Note: this file works from version 2.12.0
+\version "2.13.1"
 \header {
-  lsrtags = "pitches"
-  texidoces = "Este ejemplo utiliza código de Scheme para forzar las modificaciones enarmónicas de las
-notas, y así tener el menor número de alteraciones accidentales. En este caso
-se aplican las siguientes reglas:
+doctitlees = "Transportar música con el menor número de alteraciones"
+texidoces = "
+Este ejemplo utiliza código de Scheme para forzar las
+modificaciones enarmónicas de las notas, y así tener el menor
+número de alteraciones accidentales. En este caso se aplican las
+siguientes reglas:
 
 @itemize
 @item
@@ -25,12 +28,45 @@ Fa bemol -> Mi
 
 @end itemize
 
-De esta forma se selecciona el mayor número de notas enarmónicas naturales.
+De esta forma se selecciona el mayor número de notas enarmónicas
+naturales.
+
+"
+
+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
+an Versetzungszeichen ausgegeben wird.  In diesem Fall gelten die
+folgenden Regeln:
+
+@itemize
+@item
+Doppelte Versetzungszeichen sollen entfernt werden
+
+@item
+His -> C
+
+@item
+Eis -> F
+
+@item
+Ces -> B
+
+@item
+Fes -> E
+
+@end itemize
+
+Auf diese Art werden am meisten natürliche Tonhöhen als enharmonische
+Variante gewählt.
 "
 
-  texidoc = "This example uses some Scheme code to enforce enharmonic modifications for
-notes in order to have the minimum number of accidentals. In this
-case, the following rules apply:
+
+  lsrtags = "pitches"
+  texidoc = "This example uses some Scheme code to enforce enharmonic
+modifications for notes in order to have the minimum number of
+accidentals.  In this case, the following rules apply:
 
 @itemize
 @item
@@ -55,10 +91,12 @@ In this manner, the most natural enharmonic notes are chosen.
   doctitle = "Transposing music with minimum accidentals"
 } % 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
+         (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)))
@@ -70,8 +108,8 @@ In this manner, the most natural enharmonic notes are chosen.
     (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))))
+    (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)
@@ -79,32 +117,32 @@ In this manner, the most natural enharmonic notes are chosen.
          (e (ly:music-property music 'element))
          (p (ly:music-property music 'pitch)))
     (if (pair? es)
-        (ly:music-set-property!
+       (ly:music-set-property!
          music 'elements
          (map (lambda (x) (naturalize x)) es)))
     (if (ly:music? e)
-        (ly:music-set-property!
+       (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)))
+       (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 }
+music = \relative c' { c4 d e g }
 
 \score {
   \new Staff {
-    \transpose c ais \music
-    \naturalizeMusic \transpose c ais \music
-    \transpose c deses \music
-    \naturalizeMusic \transpose c deses \music
+    \transpose c ais { \music }
+    \naturalizeMusic \transpose c ais { \music }
+    \transpose c deses { \music }
+    \naturalizeMusic \transpose c deses { \music }
   }
-  \layout { ragged-right = ##t }
+  \layout { }
 }