;;;
;;; c:\\program files\\acl62\\music56.cl
;;;


(load "c:\\program files\\acl62\\music55.cl")

(make-frame-from-list
 '(Pentatonic-Scale (p-CM7 (value (C pt) (D pt) (G pt) (A pt)))
                    (p-CM7+11 (value (D pt) (G pt) (A pt) (B pt)))
                    (p-Cm7 (value (-E pt) (-B pt) (F pt) (-A pt)))
                    (p-Cm7-5 (value (-G pt) (-A pt)))
                    (p-C7 (value (C pt) (-E pt) (-G pt) (-B pt)))
                    (p-C7+9 (value (-E pt) (-G pt) (-A pt) (-D pt)))
                    (p-C7+11 (value (C pt) (D pt) (-G pt)))
                    (p-C7-9 (value (-D pt) (-E pt) (-G pt)))
                    (p-C7+5 (value (-G pt) (-D pt) (-A pt)))
                    (p-C713 (value (C pt) (-G pt) (D pt)))
                    (p-C7sus4 (value (-B pt) (F pt) (-E pt)))))

(defun get-chordscale-from-pair (pair)
  (list (car pair) (get-chordscale (first pair) (second pair))))


(defun get-chordscale-from-modulated-pair (pair key1 key2)
  (let ((char (intern (modulate-key1-to-key2 (car pair) key1 key2))))
    (get-chordscale-from-pair (list char 'pt))))

 
(defun get-chordscales-from-modulated-pairs (pairs key1 key2)
  (do ((lst pairs (cdr lst))
       (w))
      ((null lst) (reverse w))
    (push (get-chordscale-from-modulated-pair (car lst) key1 key2) w)))

(defun get-pt-scales (cn)
  (let ((char (intern (involve-char-p cn)))
        (type (get-chord-type3 cn)))
    (case char
      (C (case type
           (M7 (mapcar #'get-chordscale-from-pair 
                       (fget 'Pentatonic-Scale 'p-CM7 'value)))
           (M7+11 (mapcar #'get-chordscale-from-pair
                       (fget 'Pentatonic-Scale 'p-CM7+11 'value)))
           (m7 (mapcar #'get-chordscale-from-pair
                       (fget 'Pentatonic-Scale 'p-Cm7 'value)))
           (m7-5 (mapcar #'get-chordscale-from-pair
                       (fget 'Pentatonic-Scale 'p-Cm7-5 'value)))
           (7 (mapcar #'get-chordscale-from-pair
                       (fget 'Pentatonic-Scale 'p-C7 'value)))
           (7+9 (mapcar #'get-chordscale-from-pair
                       (fget 'Pentatonic-Scale 'p-C7+9 'value)))
           (7-9 (mapcar #'get-chordscale-from-pair
                       (fget 'Pentatonic-Scale 'p-C7-9 'value)))
           (7+11 (mapcar #'get-chordscale-from-pair
                       (fget 'Pentatonic-Scale 'p-C7+11 'value)))
           (7+5 (mapcar #'get-chordscale-from-pair
                       (fget 'Pentatonic-Scale 'p-C7+5 'value)))
           (713 (mapcar #'get-chordscale-from-pair
                       (fget 'Pentatonic-Scale 'p-C713 'value)))
           (7sus4 (mapcar #'get-chordscale-from-pair
                       (fget 'Pentatonic-Scale 'p-C7sus4 'value)))
           ))
      (+C (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C '+C))
           (M7+11 (get-chordscales-from-modulated-pairs 
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C '+C))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C '+C))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C '+C))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C '+C))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C '+C))
           (7-9 (get-chordscales-from-modulated-pairs 
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C '+C))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C '+C))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C '+C))
           (713 (get-chordscales-from-modulated-pairs 
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C '+C))
           (7sus4 (get-chordscales-from-modulated-pairs 
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C '+C))
           ))
      (-D (case type
           (M7 (get-chordscales-from-modulated-pairs 
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C '-D))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C '-D))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C '-D))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C '-D))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C '-D))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C '-D))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C '-D))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C '-D))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C '-D))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C '-D))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C '-D))
           ))
      (D (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C 'D))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C 'D))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C 'D))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C 'D))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C 'D))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C 'D))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C 'D))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C 'D))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C 'D))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C 'D))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C 'D))
           ))
      (+D (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C '+D))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C '+D))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C '+D))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C '+D))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C '+D))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C '+D))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C '+D))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C '+D))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C '+D))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C '+D))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C '+D))
           ))
      (-E (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C '-E))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C '-E))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C '-E))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C '-E))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C '-E))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C '-E))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C '-E))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C '-E))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C '-E))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C '-E))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C '-E))
           ))
      (E (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C 'E))
           (M7+11 (get-chordscales-from-modulated-pairs
                       (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C 'E))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C 'E))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C 'E))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C 'E))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C 'E))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C 'E))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C 'E))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C 'E))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C 'E))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C 'E))
           ))
      (F (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C 'F))
           (M7+11 (get-chordscales-from-modulated-pairs 
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C 'F))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C 'F))
           (m7-5 (fget 'Pentatonic-Scale 'p-Cm7-5 'value))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C 'F))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C 'F))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C 'F))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C 'F))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C 'F))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C 'F))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C 'F))
           ))
      (+F (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C '+F))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C '+F))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C '+F))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C '+F))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C '+F))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C '+F))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C '+F))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C '+F))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C '+F))
           (713 (get-chordscales-from-modulated-pairs 
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C '+F))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C '+F))
           ))
      (-G (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C '-G))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C '-G))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C '-G))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C '-G))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C '-G))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C '-G))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C '-G))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C '-G))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C '-G))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C '-G))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C '-G))
           ))
      (G (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C 'G))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C 'G))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C 'G))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C 'G))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C 'G))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C 'G))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C 'G))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C 'G))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C 'G))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C 'G))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C 'G))
           ))
      (+G (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C '+G))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C '+G))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C '+G))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C '+G))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C '+G))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C '+G))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C '+G))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C '+G))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C '+G))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C '+G))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C '+G))
           ))
      (-A (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C '-A))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C '-A))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C '-A))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C '-A))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C '-A))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C '-A))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C '-A))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C '-A))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C '-A))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C '-A))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C '-A))
           ))
      (A (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C 'A))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C 'A))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C 'A))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C 'A))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C 'A))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C 'A))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C 'A))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C 'A))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C 'A))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C 'A))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C 'A))
           ))
      (+A (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C '+A))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C '+A))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C '+A))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C '+A))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C '+A))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C '+A))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C '+A))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C '+A))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C '+A))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C '+A))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C '+A))
           ))
      (-B (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C '-B))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C '-B))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C '-B))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C '-B))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C '-B))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C '-B))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C '-B))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C '-B))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C '-B))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C '-B))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C '-B))
           ))
      (B (case type
           (M7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7 'value) 'C 'B))
           (M7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-CM7+11 'value) 'C 'B))
           (m7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7 'value) 'C 'B))
           (m7-5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-Cm7-5 'value) 'C 'B))
           (7 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7 'value) 'C 'B))
           (7+9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+9 'value) 'C 'B))
           (7-9 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7-9 'value) 'C 'B))
           (7+11 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+11 'value) 'C 'B))
           (7+5 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7+5 'value) 'C 'B))
           (713 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C713 'value) 'C 'B))
           (7sus4 (get-chordscales-from-modulated-pairs
                      (fget 'Pentatonic-Scale 'p-C7sus4 'value) 'C 'B))
           )))))
           
           
(defun get-chord-type3 (cn)
  (cond ((search-s1-in-s2 "M7+11" cn) 'M7+11)
        ((search-s1-in-s2 "7sus4" cn) '7sus4)
        ((search-s1-in-s2 "m7-5" cn) 'm7-5)
        ((search-s1-in-s2 "7+11" cn) '7+11)
        ((search-s1-in-s2 "7+9" cn) '7+9)
        ((search-s1-in-s2 "7-9" cn) '7-9)
        ((search-s1-in-s2 "7+5" cn) '7+5)
        ((search-s1-in-s2 "713" cn) '713)
        ((search-s1-in-s2 "M7" cn) 'M7)
        ((search-s1-in-s2 "m7" cn) 'm7)
        ((search-s1-in-s2 "7" cn) '7)))

(defun get-pt (pair)
  (get-pt-scales (car pair)))


(defun get-a-pt-at-random (pair)
  (let ((pts (get-pt pair)))
    (butlast (second (nth (random (length pts)) pts)))))