5 copyright = "public domain";
6 TestedFeatures = "Banter named chords";
9 % test German (Banter) naming
10 % for more conventional naming, comment scm stuff out
13 % this shows a serious shortcoming with our guile approach:
14 % we can't (easily) display banter/non banter chords alongside
15 % eachother. These guile lists are fixed in the guile environment
16 % when this file has been parsed...
20 #;(define chord::names-alist-banter '())
21 #(set! chord::names-alist-banter
24 (((0 . 0) (2 . -1) (4 . -1)) . (("m" ("5-" . (type . "super")))))
26 (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . ("o" (type "super")))
30 % Urg, this will break again, in time
31 % Is this correct, anyway?
33 #(define (pitch->text pitch)
34 (if (and (= (modulo (cadr pitch) 7) 6)
36 (cons (make-string 1 (integer->char 66)) '())
38 (if (= (modulo (cadr pitch) 7) 6)
39 (make-string 1 (integer->char 72))
40 (make-string 1 (integer->char (+ (modulo (+ (cadr pitch) 2) 7) 65))))
41 (if (= (caddr pitch) 0)
43 (list (list (string-append "accidentals-"
44 (number->string (caddr pitch)))
45 '(font . "feta")))))))
49 chord = \notes\transpose c''\chords{
50 % dim modifier means: lower all implicit additions
54 % explicit additions are taken as entered:
56 % note that 7 is a special case: it's always lowered by 1...
78 \context ChordNames \chord