;;;
;;; c:\\program files\\acl62\\music50.cl
;;;
(load "c:\\program files\\acl62\\music49.cl")
(defun get-UST-3 (pair)
(cdadr (assoc (second pair) (get-UST (first pair)))))
(defun translate-doremi-in-a-chord-2 (pair)
(mapcar #'(lambda (x) (translate-doremi x)) (get-chord-tone (car pair))))
(defun note-in-a-chord?-2 (note pair)
(member note (translate-doremi-in-a-chord-2 pair)))
;;;
;;; (note-in-a-UST?-2 're '("CM7" ion)) ---> ("G" "D" "Bm")
;;;
(defun note-in-a-UST?-2 (note pair)
(let ((lst (get-UST-3 pair)))
(do ((l lst (cdr l))
(w))
((null l) (reverse w))
(cond ((note-in-a-chord? note (car l))
(push (car l) w))))))
(defun get-tension-note-3 (pair)
(mapcar #'(lambda (x) (translate-doremi x)) (tension-note pair)))
;;;
;;; (tensions-in-USTs? '("CM7" ion)) ---> ((re "G") (re "D") (re "Bm") (la "Am") (la "D"))
;;;
(defun tensions-in-USTs? (pair)
(let ((lst (get-tension-note-3 pair)))
(do ((l lst (cdr l))
(w))
((null l) (reverse w))
(let ((ll (note-in-a-UST?-2 (car l) pair)))
(do ((lll ll (cdr lll)))
((null lll))
(push (list (car l) (car lll)) w))))))