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