;;;
;;; c:\\program files\\acl62\\music14.cl
;;;
(load "c:\\program files\\acl62\\music13.cl")

;;;
;;; (the-list-is-involved-in-a-scale-2 '(re la) '(C ion))
;;;
(defun the-list-is-involved-in-a-scale-2 (lst pair)
  (sub-set-p (translate-flat-to-sharp-in-a-list lst)
          (replace-j-note-with-doremi (get-tension-note (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 get-C-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-C-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-+C-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-+C-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get--D-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get--D-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-D-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-D-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-+D-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-+D-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get--E-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get--E-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-E-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-E-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-F-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-F-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-+F-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-+F-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get--G-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get--G-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-G-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-G-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-+G-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-+G-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get--A-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get--A-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-A-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-A-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-+A-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-+A-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get--B-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get--B-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

(defun get-B-scales-whitch-involve-the-list-2 (lst)
  (do ((l (get-B-scales) (cdr l))
     (w))
     ((null l) w)
    (cond ((the-list-is-involved-in-a-scale-2 lst (car l))
         (push (car l) w)))))

;;;
;;; (get-scales-whitch-involve-the-tension-notes '(re la))
;;;
(defun get-scales-whitch-involve-the-tension-notes (lst)
  (append (get-C-scales-whitch-involve-the-list-2 lst)
        (get-+C-scales-whitch-involve-the-list-2 lst)
        (get--D-scales-whitch-involve-the-list-2 lst)
        (get-D-scales-whitch-involve-the-list-2 lst)
        (get-+D-scales-whitch-involve-the-list-2 lst)
        (get--E-scales-whitch-involve-the-list-2 lst)
        (get-E-scales-whitch-involve-the-list-2 lst)
        (get-F-scales-whitch-involve-the-list-2 lst)
        (get-+F-scales-whitch-involve-the-list-2 lst)
        (get--G-scales-whitch-involve-the-list-2 lst)
        (get-G-scales-whitch-involve-the-list-2 lst)
        (get-+G-scales-whitch-involve-the-list-2 lst)
        (get--A-scales-whitch-involve-the-list-2 lst)
        (get-A-scales-whitch-involve-the-list-2 lst)
        (get-+A-scales-whitch-involve-the-list-2 lst)
        (get--B-scales-whitch-involve-the-list-2 lst)
        (get-B-scales-whitch-involve-the-list-2 lst)))