]> git.donarmstrong.com Git - lilypond.git/blob - scm/chord-names.scm
release: 1.3.4
[lilypond.git] / scm / chord-names.scm
1 ;; pitch: (notename . accidental)
2 ;; list:  (list-of-pitches . (modifier-string . addition-subtraction-string))
3
4 ;; if a complete chord is found, use name
5 ;; if a chord's base triad is found (c e g), use name
6
7 (define pitch-names-alist '())
8 (set! pitch-names-alist
9       (append 
10       '(
11         ; use these for German naming
12         ;((6 . 0) . ("H" ""))
13         ;((6 . -1) . ("B" ("feta-1" . "\12")))
14
15         ; urg, temp hack for accidental size: can't set from Chord::
16         ((0 . 1) . ("C" ("feta-1" . "\10")))
17         ((1 . 1) . ("D" ("feta-1" . "\10")))
18         ((2 . 1) . ("E" ("feta-1" . "\10")))
19         ((3 . 1) . ("F" ("feta-1" . "\10")))
20         ((4 . 1) . ("G" ("feta-1" . "\10")))
21         ((5 . 1) . ("A" ("feta-1" . "\10")))
22         ((6 . 1) . ("B" ("feta-1" . "\10")))
23
24         ((0 . -1) . ("C" ("feta-1" . "\12")))
25         ((1 . -1) . ("D" ("feta-1" . "\12")))
26         ((2 . -1) . ("E" ("feta-1" . "\12")))
27         ((3 . -1) . ("F" ("feta-1" . "\12")))
28         ((4 . -1) . ("G" ("feta-1" . "\12")))
29         ((5 . -1) . ("A" ("feta-1" . "\12")))
30         ((6 . -1) . ("B" ("feta-1" . "\12")))
31         )
32       pitch-names-alist))
33
34 (define (user-pitch-name pitch)
35   (let ((entry (assoc pitch pitch-names-alist)))
36        (if entry
37            (cdr entry))))
38
39 (define chord-names-alist '())
40 (set! chord-names-alist
41       (append 
42       '(
43         ; C iso C.no3.no5
44         (((0 . 0)) . ("" . ""))
45         ; C iso C.no5
46         (((0 . 0) (2 . 0)) . ("" . ""))
47         ; Cm iso Cm.no5
48         (((0 . 0) (2 . -1)) . ("m" . ""))
49         ; Cdim iso Cm5-
50         (((0 . 0) (2 . -1) (4 . -1)) . ("dim" . ""))
51         ; Co iso Cm5-7-
52         ; urg
53         ; (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . ("" . ("feta-1" . ".")))
54         (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . ("" . ("script" . "o")))
55         ; Cdim9
56         (((0 . 0) (2 . -1) (4 . -1) (6 . -2) (1 . -1)) . ("dim" . ("script" . "9")))
57         (((0 . 0) (2 . -1) (4 . -1) (6 . -2) (1 . -1) (3 . -1)) . ("dim" . ("script" . "11")))
58         )
59       chord-names-alist))
60
61 (define (user-chord-name chord)
62   ;(display chord)
63   ;(newline)
64   (let ((entry (assoc chord chord-names-alist)))
65        (if entry
66            (cdr entry))))
67