;;;
;;; c:\\program files\\acl62\\music13.cl
;;;
(load "c:\\program
files\\acl62\\music12.cl")
;;;
;;; (the-list-is-involved-in-a-scale
'(do re mi fa so la si do) '(C ion))
;;;
(defun
the-list-is-involved-in-a-scale (lst pair)
(sub-set-p
(translate-flat-to-sharp-in-a-list lst)
(replace-j-note-with-doremi (get-chordscale (first pair) (second
pair)))))
(setf *scales* '(ion dor phr lyd mix aeo loc n h m all dor-2
loc+2
lyd-7 hmp5 mmp5 alt comd dim wt mixsus4 mix-6))
(defun C-scale (type) (list 'C type))
(defun get-C-scales () (mapcar
#'C-scale *scales*))
(defun +C-scale (type) (list '+C type))
(defun
get-+C-scales () (mapcar #'+C-scale *scales*))
(defun -D-scale (type) (list
'-D type))
(defun get--D-scales () (mapcar #'-D-scale *scales*))
(defun
D-scale (type) (list 'D type))
(defun get-D-scales () (mapcar #'D-scale
*scales*))
(defun +D-scale (type) (list '+D type))
(defun get-+D-scales
() (mapcar #'+D-scale *scales*))
(defun -E-scale (type) (list '-E type))
(defun get--E-scales () (mapcar #'-E-scale *scales*))
(defun E-sacle
(type) (list 'E type))
(defun get-E-scales () (mapcar #'E-sacle *scales*))
(defun F-scale (type) (list 'F type))
(defun get-F-scales () (mapcar
#'F-scale *scales*))
(defun +F-scale (type) (list '+F type))
(defun
get-+F-scales () (mapcar #'+F-scale *scales*))
(defun -G-scale (type) (list
'-G type))
(defun get--G-scales () (mapcar #'-G-scale *scales*))
(defun
G-scale (type) (list 'G type))
(defun get-G-scales () (mapcar #'G-scale
*scales*))
(defun +G-scale (type) (list '+G type))
(defun get-+G-scales
() (mapcar #'+G-scale *scales*))
(defun -A-scale (type) (list '-A type))
(defun get--A-scales () (mapcar #'-A-scale *scales*))
(defun A-scale
(type) (list 'A type))
(defun get-A-scales () (mapcar #'A-scale *scales*))
(defun +A-scale (type) (list '+A type))
(defun get-+A-scales () (mapcar
#'+A-scale *scales*))
(defun -B-scale (type) (list '-B type))
(defun
get--B-scales () (mapcar #'-B-scale *scales*))
(defun B-scale (type) (list
'B type)) (defun get-B-scales () (mapcar #'B-scale *scales*))
;;;
;;;
;;;
(defun get-C-scales-whitch-involve-the-list (lst)
(do
((l (get-C-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-+C-scales-whitch-involve-the-list (lst)
(do ((l
(get-+C-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get--D-scales-whitch-involve-the-list (lst)
(do ((l
(get--D-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-D-scales-whitch-involve-the-list (lst)
(do ((l
(get-D-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-+D-scales-whitch-involve-the-list (lst)
(do ((l
(get-+D-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get--E-scales-whitch-involve-the-list (lst)
(do ((l
(get--E-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-E-scales-whitch-involve-the-list (lst)
(do ((l
(get-E-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-F-scales-whitch-involve-the-list (lst)
(do ((l
(get-F-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-+F-scales-whitch-involve-the-list (lst)
(do ((l
(get-+F-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get--G-scales-whitch-involve-the-list (lst)
(do ((l
(get--G-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-G-scales-whitch-involve-the-list (lst)
(do ((l
(get-G-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-+G-scales-whitch-involve-the-list (lst)
(do ((l
(get-+G-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get--A-scales-whitch-involve-the-list (lst)
(do ((l
(get--A-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-A-scales-whitch-involve-the-list (lst)
(do ((l
(get-A-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-+A-scales-whitch-involve-the-list (lst)
(do ((l
(get-+A-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get--B-scales-whitch-involve-the-list (lst)
(do ((l
(get--B-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
(defun get-B-scales-whitch-involve-the-list (lst)
(do ((l
(get-B-scales) (cdr l))
(w))
((null l) w)
(cond
((the-list-is-involved-in-a-scale lst (car l))
(push (car l) w)))))
;;;
;;; (get-scales-whitch-involve-the-notes '(do re mi fa so la si
do))
;;;
(defun get-scales-whitch-involve-the-notes (lst)
(append
(get-C-scales-whitch-involve-the-list lst)
(get-+C-scales-whitch-involve-the-list lst)
(get--D-scales-whitch-involve-the-list lst)
(get-D-scales-whitch-involve-the-list lst)
(get-+D-scales-whitch-involve-the-list lst)
(get--E-scales-whitch-involve-the-list lst)
(get-E-scales-whitch-involve-the-list lst)
(get-F-scales-whitch-involve-the-list lst)
(get-+F-scales-whitch-involve-the-list lst)
(get--G-scales-whitch-involve-the-list lst)
(get-G-scales-whitch-involve-the-list lst)
(get-+G-scales-whitch-involve-the-list lst)
(get--A-scales-whitch-involve-the-list lst)
(get-A-scales-whitch-involve-the-list lst)
(get-+A-scales-whitch-involve-the-list lst)
(get--B-scales-whitch-involve-the-list lst)
(get-B-scales-whitch-involve-the-list lst)))