]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/lsr/transposing-pitches-with-minimum-accidentals-smart-transpose.ly
Merge commit 'origin/dev/jneeman' into systems-per-page
[lilypond.git] / input / lsr / transposing-pitches-with-minimum-accidentals-smart-transpose.ly
index 0e9d6731d7472fb0a90d6d901d6e1ea9fb8970b7..2a101d8955297adff33997f6ecca8acb8213f9d1 100644 (file)
 %% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
-\version "2.11.38"
+\version "2.13.0"
 \header {
-  doctitle = "Transposing music with minimum accidentals"
+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
+Se quitan las dobles alteraciones
+
+@item
+Si sostenido -> Do
+
+@item
+Mi sistenido -> Fa
+
+@item
+Do bemol -> Si
+
+@item
+Fa bemol -> Mi
+
+@end itemize
+
+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.
+"
+
+
   lsrtags = "pitches"
- texidoc = "There is a way to enforce enharmonic modifications for
-notes in order to have the minimum number of accidentals. In this
-case, the following rules apply:
+  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
+Double accidentals should be removed
 
-\"Double accidentals should be removed, as well as E sharp (-> F),
-C flat (-> B), F flat (-> E) and B sharp (-> C)\".
+@item
+B sharp -> C
+
+@item
+E sharp -> F
+
+@item
+C flat -> B
+
+@item
+F flat -> E
+
+@end itemize
 
 In this manner, the most natural enharmonic notes are chosen.
-"}
-% begin verbatim
+"
+  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)))
@@ -29,8 +107,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)
@@ -38,32 +116,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 { }
 }