;;;
;;; c:\\progra files\\acl62\\music8.cl
;;;


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

(make-frame-from-list 
  '(CP-of-Cm (pat1 (value ("Cm" all) 
                            ("G7" lyd-7 hmp5 
                                  alt comd wt)
                            ("Cm" all))) 
        (pat2 (value ("Cm" all) 
                            ("Fm7" dor)
                            ("Cm" all))) 
        (pat3 (value ("Cm" all) 
                            ("Fm7" dor)
                            ("G7" lyd-7 hmp5 
                                  alt comd wt)
                            ("Cm" all)))
        (pat4 (value ("Cm" all) 
                            ("-AM7" lyd)
                            ("Fm7" dor) 
              ("G7" lyd-7 hmp5 
                                  alt comd wt)))
        (pat5 (value ("Cm" all) 
                            ("Cdim7" dim) 
              ("G7" lyd-7 hmp5 
                                  alt comd wt)
                            ("Cm" all)))
        (pat6 (value ("Cm" all) 
                            ("Gdim7" dim)
                            ("G7" lyd-7 hmp5 
                                  alt comd wt) 
              ("Cm" all))) 
        (pat7 (value ("Cm" all) 
                            ("+Cdim7" dim)
                            ("Fm7" dor) 
              ("G7" lyd-7 hmp5 
                                  alt comd wt)
                            ("Cm" all))) 
        (pat8 (value ("Cm" all) 
                            ("-AM7" lyd)
                            ("D7" mix lyd-7 
                                  alt comd wt) 
              ("G7" lyd-7 hmp5 
                                  alt comd wt) 
                            ("Cm" all))) 
        (pat9 (value ("Cm" all) 
                            ("Cdim7" dim)
                            ("Fm7" dor) 
              ("G7" lyd-7 hmp5 
                                  alt comd wt))) 
        (pat10 (value ("Cm" all) 
                             ("Gaug" ion) 
                             ("Cm" all))) 
        (pat11 (value ("Cm" all) 
                             ("Cdim7" dim)
                             ("Cm" all) 
               ("D7" mix lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor) 
                             ("Cm" all)))
        (pat12 (value ("Cm" all) 
                             ("D7" mix lyd-7 hmp5 
                                   alt comd wt) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Cm" all))) 
        (pat13 (value ("Cm" all) 
                             ("Fm7" dor)
                             ("Cm" all)
                             ("G7" lyd-7 hmp5 
                                   alt comd wt)
               ("Cm" all))) 
        (pat14 (value ("Cm" all)
                             ("C7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor) 
               ("Cm" all)))
        (pat15 (value ("Cm" all)
                             ("F7" lyd-7) 
                             ("Cm" all))) 
        (pat16 (value ("Cm" all) 
                             ("-B7" mix)
                             ("Cm" all))) 
        (pat17 (value ("Cm" all) 
                             ("Gm7" phr)
                             ("-A7" lyd-7) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Cm" all))) 
        (pat18 (value ("Cm" all)
                             ("-B7" mix)
                             ("Fm7" dor) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat19 (value ("Cm" all) 
                             ("-A7" lyd-7) 
                             ("Fm7" dor) 
                             ("-B7" mix)
               ("-EM7" lyd ion)
                             ("Caug" ion)
                             ("Fm7" dor)))
        (pat20 (value ("Cm" all) 
                             ("-AM7" lyd)
                             ("+Cdim7" dim)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat21 (value ("Cm" all)
                             ("-E7" mix lyd-7 
                                    alt comd wt) 
                             ("-AM7" lyd) 
               ("Fm7" dor))) 
        (pat22 (value ("Cm" all) 
                             ("-E7"lyd-7 hmp5 
                                   alt comd wt) 
                             ("Fm7" dor) 
               ("G7" lyd-7 hmp5
                                   alt comd wt)))
        (pat23 (value ("Cm" all) 
                             ("-B7" mix) 
                             ("-E7" mix lyd-7 
                                    alt comd wt) 
               ("-A7" lyd-7) 
                             ("Fm7" dor)
                             ("Cm" all))) 
        (pat24 (value ("Cm" all) 
                             ("-EM7" lyd ion)
                             ("-AM7" lyd) 
               ("C7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor)))
        (pat25 (value ("Cm" all) 
                             ("-AM7" lyd)
                             ("C7" lyd-7 hmp5 
                                   alt comd wt)
               ("Fm7" dor)))
        (pat26 (value ("Cm" all) 
                             ("-A7" lyd-7) 
                             ("G7" lyd-7 hmp5 
                                   alt comd wt)
               ("Cm" all)))
        (pat27 (value ("Cm" all) 
                             ("Fm7" dor)
                             ("-EM7" lyd ion) 
                             ("Fm7" dor)
                             ("Cm" all)))
        (pat28 (value ("Cm" all) 
                             ("C7" mix lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor) 
                             ("Cm" all)))
        (pat29 (value ("Cm" all)
                             ("Fm7" dor)
                             ("-E7" mix lyd-7 
                                    alt comd wt)
               ("-A7" lyd-7) 
                             ("Cm" all) 
                             ("D7" mix lyd-7 hmp5 
                                   alt comd wt)
               ("G7" lyd-7 hmo5
                                   alt comd wt)
                             ("Cm" all))) 
        (pat30 (value ("Cm" all) 
                             ("C7" lyd-7)
                             ("B7" lyd-7) 
                             ("-B7" lyd-7)
               ("A7" mix lyd-7 hmp5 
                                   alt comd wt)
               ("D7" mix lyd-7 hmp5 
                                   alt comd wt)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Cm" all))) 
        (pat31 (value ("Cm" all) 
                             ("-Em7" dor) 
                             ("Dm7" dor) 
                             ("-D7" lyd-7)
                             ("Cm" all)))
        (pat32 (value ("Cm" all) 
                             ("-E7" lyd-7)
                             ("D7" lyd-7) 
                             ("-D7" lyd-7)
                             ("Cm" all)))
        (pat33 (value ("Cm" all) 
                             ("-A7" lyd-7)
                             ("Cm" all) 
                             ("Cdim7" dim) 
                             ("Fm7" dor)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat34 (value ("Cm" all) 
                             ("Gm7" phr)
                             ("-A7" lyd-7)
                             ("Fm7" dor)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat35 (value ("C7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor)
               ("D7" mix lyd-7 hmp5 
                                   alt comd wt)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat36 (value ("C7" mix lyd-7 hmp5 
                                   alt comd wt)
                             ("Cdim7" dim) 
               ("C7" mix lyd-7 hmp5 
                                   alt comd wt)
               ("D7" mix lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat37 (value ("C7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat38 (value ("D7" mix lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Cm" all)))
        (pat39 (value ("Fm7" dor)
                             ("G7" lyd-7 hmp5 
                                   alt comd wt) 
                             ("Fm7" dor) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat40 (value ("Fm7" dor) 
                             ("-D7" lyd-7)
                             ("Cm" all)))
        (pat41 (value ("D7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor) 
                             ("-EM7" lyd ion)
               ("-A7" lyd-7)
                             ("Fm7" dor)
                             ("Cm" all))) 
        (pat42 (value ("Fm7" dor) 
                             ("-AM7" lyd)
                             ("-B7" mix) 
               ("A7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat43 (value ("-EM7" lyd ion) 
                             ("-B7" mix)
                             ("-EM7" lyd ion))) 
        (pat44 (value ("-EM7" lyd ion) 
                             ("-B7" mix)
                             ("Fm7" dor) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat45 (value ("-EM7" lyd ion)
                             ("-A7" lyd-7)
               ("D7" mix lyd-7 hmp5
                                   alt comd wt)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Cm" all)))
        (pat46 (value ("-EM7" lyd ion) 
                             ("-AM7" lyd)
                             ("Fm7" dor) 
                             ("Gaug" ion)
               ("Cm" all)))
        (pat47 (value ("C7" lyd-7 hmp5
                                   alt comd wt)
                             ("-Em7" dor)
                             ("Fm7" dor)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat48 (value ("-E7" mix lyd-7 hmp5 
                                    alt comd wt)
                             ("-AM7" lyd) 
               ("D7" lyd-7 hmp5 
                                   alt comd wt))) 
        (pat49 (value ("-EM7" lyd ion) 
                             ("Fm7" dor)
                             ("-B7" mix) 
                             ("-EM7" lyd ion)))
        (pat50 (value ("-EM7" lyd ion) 
                             ("Cm" all)
                             ("Fm7" dor) 
                             ("-B7" mix)))
        (pat51 (value ("-EM7" lyd ion) 
                             ("-AM7" lyd)
                             ("-B7" mix) 
                             ("-EM7" lyd ion)
               ("C7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor) 
               ("G7" lyd-7 hmp5 
                                   alt comd)
                             ("Cm" all)))
        (pat52 (value ("Fm7" dor) 
                             ("-B7" mix)
                             ("-AM7" lyd))) 
        (pat53 (value ("Fm7" dor) 
                             ("Cm" all)
                             ("-A7" lyd-7) 
                             ("Fm7" dor)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat54 (value ("Fm7" dor) 
                             ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("-EM7" lyd ion)
               ("Fm7" dor)))
        (pat55 (value ("Fm7" dor)
                             ("-E7" mix lyd-7 hmp5 
                                    alt comd wt)
                             ("-AM7" lyd)
               ("Cdim7" dim) 
                             ("G7" lyd-7 hmp5 
                                   alt comd wt)
               ("+Cdim7" dim)
                             ("Fm7" dor)))
        (pat56 (value ("Fm7" dor)
                             ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Gdim7" dim) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Cm" ion)))
        (pat57 (value ("F7" lyd-7) 
                             ("Cm" all)
                ("-A7" lyd-7) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat58 (value ("Fm7" dor) 
                             ("Cm" all)
                             ("-Em7" dor) 
                             ("-AM7" lyd)))
        (pat59 (value ("Gm7" phr) 
                             ("-AM7" lyd)
                             ("D7" mix lyd-7 hmp5 
                                   alt comd wt)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat60 (value ("Gm7" phr) 
                             ("-A7" lyd-7)
                             ("Fm7" dor))) 
        (pat61 (value ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("-Edim7" dim)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Gaug" ion) 
                             ("Cm" all)))
        (pat62 (value ("Gm7" phr) 
                             ("C7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Gm7" phr)
               ("C7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat63 (value ("-AM7" lyd) 
                             ("-B7" mix)
                             ("-EM7" lyd ion) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Cm" all))) 
        (pat64 (value ("-AM7" lyd)
                             ("-EM7" lyd ion)
                             ("Fm7" dor)
                             ("CM7" ion)))
        (pat65 (value ("-AM7" lyd)
                             ("-BM7" lyd)
                             ("-Em7" dor) 
                             ("-AM7" lyd)
               ("Cm" all))) 
        (pat66 (value ("-AM7" lyd) 
                             ("-E7" mix lyd-7 hmp5 
                                    alt comd wt)
                             ("Gm7" phr)
               ("-A7" lyd-7)
                             ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat67 (value ("-AM7" lyd) 
                             ("Gaug" ion)
                             ("Cm" all)))
        (pat68 (value ("-AM7" lyd) 
                             ("G7" lyd-7 hmp5 
                                   alt comd wt)
                             ("-EM7" lyd ion) 
                             ("-AM7" lyd)))
        (pat69 (value ("-AM7" lyd) 
                             ("-Bm7" dor)
                             ("-E7" mix lyd-7 hmp5 
                                    alt comd wt)
               ("-AM7" lyd)))
        (pat70 (value ("-B7" mix) 
                             ("-EM7" lyd ion)
                             ("D7" mix lyd-7 hmp5 
                                   alt comd wt)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat71 (value ("Cm" all) 
                             ("Am7-5" loc) 
                             ("Dm7-5" loc) 
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat72 (value ("Cm" all)
                             ("-EM7" lyd ion)
                             ("Dm7-5" loc)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat73 (value ("Cm" all)
                             ("A7" mix lyd-7 hmp5 
                                   alt comd wt)
               ("D7" mix lyd-7 hmp5 
                                   alt comd wt)
               ("G7" lyd-7 hmp5
                                   alt comd wt)))
        (pat74 (value ("Cm" all)
                             ("C7" lyd-7 hmp5 
                                   alt comd wt)
                             ("Fm7" dor)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat75 (value ("Cm" all) 
                             ("-B7" mix)
                             ("-A7" lyd-7)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat76 (value ("Cm" all) 
                             ("Dm7-5" loc) 
                             ("-EM7" lyd ion) 
                             ("Dm7-5" loc)))
        (pat77 (value ("Cm" all) 
                             ("-E7" mix lyd-7 hmp5 
                                    alt comd wt) 
                             ("-AM7" lyd)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))
        (pat78 (value ("Cm" all) 
                             ("Fm7" dor)
                             ("Dm7-5" loc)
               ("G7" lyd-7 hmp5 
                                   alt comd wt)))))

(defun select-patn-of-CP-Cm-at-random () 
  (nth (random 78) 
    '(pat1 pat2 pat3 pat4 pat5
      pat6 pat7 pat8 pat9 pat10
     pat11 pat12 pat13 pat14 pat15
          pat16 pat17 pat18 pat19 pat20
     pat21 pat22 pat23 pat24 pat25
          pat26 pat27 pat28 pat29 pat30 
     pat31 pat32 pat33 pat34 pat35
          pat36 pat37 pat38 pat39 pat40
     pat41 pat42 pat43 pat44 pat45
          pat46 pat47 pat48 pat49 pat50
     pat51 pat52 pat53 pat54 pat55
          pat56 pat57 pat58 pat59 pat60
     pat61 pat62 pat63 pat64 pat65
          pat66 pat67 pat68 pat69 pat70 
     pat71 pat72 pat73 pat74 pat75 
          pat76 pat77 pat78)))

(defun get-CP-Cm-at-random ()
  (fget-i 'CP-of-Cm 
            (select-patn-of-CP-Cm-at-random)))

(defun get-CPm-with-key-at-random (key)
  (modulate-key1-to-key2 
         (get-CP-Cm-at-random) 
         'C
          key))

(defun get-CPm-at-random ()
  (get-CPm-with-key-at-random 
         (select-key-at-random)))