Leitereigene Mehrklänge Dur Moll/exceptions

Zur Navigation springen Zur Suche springen
myflat = \markup \fontsize #-1 \flat
mysharp = \markup \fontsize #-2 \sharp
slashfive = \markup \slashed-digit #5
slashdrei = \markup \slashed-digit #3
slashsev = \markup \slashed-digit #7
slashnin = \markup \slashed-digit #9

min = \markup \fontsize #-2 \override #'(font-name . "LilyJAZZ Text") "M"

maj = \markup \fontsize #-2 %\override #'(font-features . ("smcp"))
\override #'(font-name . "LilyJAZZ Text") "J"
sus = \markup \fontsize #-2
\override #'(font-name . "LilyJAZZ Text")
"SUS"
cdim = \markup \fontsize #-2.8 \char ##xD8

bfiv = \markup \concat { "(" \myflat \number "5)" }
ffiv = \markup \concat { "(" \mysharp "5)" }
bsev = \markup \concat { "(" \myflat "7)" }
fsev = \markup \concat { "(" \mysharp "7)" }
bnin = \markup \concat { "(" \myflat "9)" }
fnin = \markup \concat { "(" \mysharp "9)" }

chExceptionMusic = {
  <c es ges>-\cdim
  <c e g h>1-\markup \concat { \maj \super 7 }

  <c e g h d'>1-\markup \concat { \maj \super "9" }
  <c e g h d' f'>1-\markup \concat { \maj \super "11" }
  <c e g h d' f' a'>1-\markup \concat { \maj \super "13" }
  <c f g h>1-\markup \concat { \super "7" \maj }
  <c f g b>1-\markup \concat { \super "7" \sus }
  <c es ges heses>-\markup { \cdim \super 7 }
  <c es g b>-\markup { \min \super 7 }
  <c es ges b>-\markup { \cdim }
  <c es g h>1-\markup \concat { \min \maj \number \super 7 }
  <c e gis h>1-\markup \concat { + \maj \number \super 7 }
  <c es g h d'>1-\markup \concat { \maj \super "9" }
  <c es ges b des'>1-\markup \concat { \cdim \maj \super \bnin }
  <c e gis h d'>1-\markup \concat { + \maj \super 9 }
  <c e g b des'>1-\markup \concat { \super { 9 \bnin } }
  <c e g h dis'>1-\markup \concat { \maj \super { 9 \bnin } }
  <c es ges heses des'>1-\markup \concat { \cdim \super 9 }
}

chExceptions =
#(append
  (sequential-music-to-chord-exceptions chExceptionMusic #t)
  ignatzekExceptions)

myBlue = #(rgb-color (/ 22 255) (/ 22 255) (/ 92 255))

#(define ((chord-name->german-markup-text-alteration B-instead-of-Bb) pitch lowercase?)

   (define (pitch-alteration-semitones pitch)
     (inexact->exact (round (* (ly:pitch-alteration pitch) 2))))

   (define (conditional-string-downcase str condition)
     (if condition
         (string-downcase str)
         str))

   (let* ((name (ly:pitch-notename pitch))
          (alt-semitones  (pitch-alteration-semitones pitch))
          (n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -1)))
                   (cons 7 (+ (if B-instead-of-Bb 1 1) alt-semitones))
                   (cons name alt-semitones))))
     (make-line-markup
      (list
       (make-simple-markup
        (conditional-string-downcase
         (vector-ref #("C" "D" "E" "F" "G" "A" "H" "B") (car n-a))
         lowercase?))
       (let ((alteration (/ (cdr n-a) 2)))
         (cond
          ((and (equal? lowercase? #f) (= alteration FLAT) (= (car n-a) 7)) (make-simple-markup ""))
          ((and (= alteration FLAT) (or (= (car n-a) 5) (= (car n-a) 2) )) (make-simple-markup "s"))
          ((= alteration FLAT) (make-simple-markup "es"))
          ((and (= alteration DOUBLE-FLAT) (or (= (car n-a) 5)(= (car n-a) 2) )) (make-simple-markup "ses"))
          ((= alteration DOUBLE-FLAT) (make-simple-markup "eses"))
          ((= alteration SHARP) (make-simple-markup "is"))
          ((= alteration DOUBLE-SHARP) (make-simple-markup "isis"))
          (else empty-markup)))))))
#(define germanChords (chord-name->german-markup-text-alteration #t))