(define (interpret-additions chord mods)
"Interpret additions. TODO: should restrict modifier use?"
+
(cond
((null? mods) chord)
((ly:pitch? (car mods))
(set! flat-mods (cdr flat-mods))
))
+
+
;; extract first number if present, and build pitch list.
(if (and (pair? flat-mods)
(ly:pitch? (car flat-mods))
(if (procedure? lead-mod)
(set! base-chord (lead-mod base-chord)))
-
+
(set! complete-chord
(if start-additions
(interpret-additions base-chord flat-mods)
(interpret-removals base-chord flat-mods)
))
-
(set! complete-chord (map (lambda (x) (ly:pitch-transpose x root))
(sort complete-chord ly:pitch<?)))
(write-me "bass: " bass)))
-
+
(if inversion
(make-chord (cdr complete-chord) bass duration (car complete-chord)
inversion)