;;;
;;; c:\\program files\\acl62\\music37.cl
;;;
(load "c:\\program files\\acl62\\music36.cl")
(load "c:\\program files\\acl62\\work1.cl")
(make-frame-from-list
'(M7 (CM7 (value "E7" "+F7" "-G7"
"A7" "B7"))))
(make-frame-from-list
'(m7 (Cm7 (value "+D7" "-E7" "E7"
"+A7" "-B7"))))
(make-frame-from-list
'(m7-5 (Cm7-5 (value "+C7" "-D7"
"+D7" "-E7"
"+A7" "-B7"))))
(make-frame-from-list
'(d7 (C7 (value "A7"))))
;;;
;;;
;;;
(defun get-M7-of-CM7 ()
(fget-i 'M7 'CM7))
(defun get-m7-of-Cm7 ()
(fget-i 'm7 'Cm7))
(defun get-m7-5-of-Cm7-5 ()
(fget-i 'm7-5 'Cm7-5))
(defun get-d7-of-C7 ()
(fget-i 'd7 'C7))
;;;
;;;
;;;
(defun collect-DC-dominant-M7 (chord)
(remove-duplicate
(modulate-key1-to-key2
(get-M7-of-CM7)
'C
(involve-atom-p chord))))
(defun collect-DC-dominant-m7 (chord)
(remove-duplicate
(modulate-key1-to-key2
(get-m7-of-Cm7)
'C
(involve-atom-p chord))))
(defun collect-DC-dominant-m7-5 (chord)
(remove-duplicate
(modulate-key1-to-key2
(get-m7-5-of-Cm7-5)
'C
(involve-atom-p chord))))
(defun collect-DC-dominant-d7 (chord)
(remove-duplicate
(modulate-key1-to-key2
(get-d7-of-C7)
'C
(involve-atom-p chord))))
;;;
;;;
;;;
(defun collect-DC-dominant (chord)
(cond ((search-s1-in-s2 "m7-5" chord)
(collect-DC-dominant-m7-5 chord))
((search-s1-in-s2 "m7" chord)
(collect-DC-dominant-m7 chord))
((search-s1-in-s2 "M7" chord)
(collect-DC-dominant-M7 chord))
((search-s1-in-s2 "7" chord)
(collect-DC-dominant-d7 chord))))
|