;;;
;;; c:\\program files\\acl62\\music46.cl
;;;
(load "c:\\program files\\acl62\\music45.cl")
(defun rotate-for-12 (lst n) (rotate-list-left lst n))
(defun get-rotation-for-12 (lst)
(list lst
(rotate-for-12 lst 1)
(rotate-for-12 lst 2)
(rotate-for-12 lst 3)
(rotate-for-12 lst 4)
(rotate-for-12 lst 5)
(rotate-for-12 lst 6)
(rotate-for-12 lst 7)
(rotate-for-12 lst 8)
(rotate-for-12 lst 9)
(rotate-for-12 lst 10)
(rotate-for-12 lst 11)))
(defun indicate-rotation-for-12 (lst)
(format t "~%~a~%~a~%~a~%~a~%~a~%~a~%~a~%~a~%~a~%~a~%~a~%~a"
lst
(rotate-for-12 lst 1)
(rotate-for-12 lst 2)
(rotate-for-12 lst 3)
(rotate-for-12 lst 4)
(rotate-for-12 lst 5)
(rotate-for-12 lst 6)
(rotate-for-12 lst 7)
(rotate-for-12 lst 8)
(rotate-for-12 lst 9)
(rotate-for-12 lst 10)
(rotate-for-12 lst 11)))
(defun indicate-rotation-for-12-list (lst)
(do ((ll (get-rotation-for-12 lst) (cdr ll)))
((null ll))
(print '**********************************)
(twelve-kinds-of-notes (car ll))))
(defun make-4-rotation ()
(let* ((l1 (make-O))
(l2 (make-R l1))
(l3 (make-I l1))
(l4 (make-IR l1)))
(format t "~%*******基本形*******")
(indicate-rotation-for-12 l1)
(format t "~%*******逆行形*******")
(indicate-rotation-for-12 l2)
(format t "~%*******反行形*******")
(indicate-rotation-for-12 l3)
(format t "~%*******反行逆行形*******")
(indicate-rotation-for-12 l4)))
(defun make-4-rotation-2 ()
(let* ((l1 (make-O-2))
(l2 (make-R l1))
(l3 (make-I l1))
(l4 (make-IR l1)))
(format t "~%*******基本形*******")
(indicate-rotation-for-12 l1)
(format t "~%*******逆行形*******")
(indicate-rotation-for-12 l2)
(format t "~%*******反行形*******")
(indicate-rotation-for-12 l3)
(format t "~%*******反行逆行形*******")
(indicate-rotation-for-12 l4)))
(defun make-all-rotation ()
(let* ((l1 (make-O))
(l2 (make-R l1))
(l3 (make-I l1))
(l4 (make-IR l1)))
(format t "~%****** 基本形 *******")
(format t "~%***********P1**********")
(indicate-rotation-for-12 l1)
(format t "~%***********m2***********")
(indicate-rotation-for-12 (m2-up l1))
(format t "~%***********M2**********")
(indicate-rotation-for-12 (M2-up l1))
(format t "~%***********m3**********")
(indicate-rotation-for-12 (m3-up l1))
(format t "~%***********M3**********")
(indicate-rotation-for-12 (M3-up l1))
(format t "~%***********P4**********")
(indicate-rotation-for-12 (P4-up l1))
(format t "~%***********+4-5**********")
(indicate-rotation-for-12 (+4-5-up l1))
(format t "~%***********P5**********")
(indicate-rotation-for-12 (P5-up l1))
(format t "~%***********m6**********")
(indicate-rotation-for-12 (m6-up l1))
(format t "~%***********M6**********")
(indicate-rotation-for-12 (M6-up l1))
(format t "~%***********m7**********")
(indicate-rotation-for-12 (m7-up l1))
(format t "~%***********M7**********")
(indicate-rotation-for-12 (M7-up l1))
(format t "~%****** 逆行形 *******")
(format t "~%***********P1**********")
(indicate-rotation-for-12 l2)
(format t "~%***********m2***********")
(indicate-rotation-for-12 (m2-up l2))
(format t "~%***********M2**********")
(indicate-rotation-for-12 (M2-up l2))
(format t "~%***********m3**********")
(indicate-rotation-for-12 (m3-up l2))
(format t "~%***********M3**********")
(indicate-rotation-for-12 (M3-up l2))
(format t "~%***********P4**********")
(indicate-rotation-for-12 (P4-up l2))
(format t "~%***********+4-5**********")
(indicate-rotation-for-12 (+4-5-up l2))
(format t "~%***********P5**********")
(indicate-rotation-for-12 (P5-up l2))
(format t "~%***********m6**********")
(indicate-rotation-for-12 (m6-up l2))
(format t "~%***********M6**********")
(indicate-rotation-for-12 (M6-up l2))
(format t "~%***********m7**********")
(indicate-rotation-for-12 (m7-up l2))
(format t "~%***********M7**********")
(indicate-rotation-for-12 (M7-up l2))
(format t "~%****** 反行形 *******")
(format t "~%***********P1**********")
(indicate-rotation-for-12 l3)
(format t "~%***********m2***********")
(indicate-rotation-for-12 (m2-up l3))
(format t "~%***********M2**********")
(indicate-rotation-for-12 (M2-up l3))
(format t "~%***********m3**********")
(indicate-rotation-for-12 (m3-up l3))
(format t "~%***********M3**********")
(indicate-rotation-for-12 (M3-up l3))
(format t "~%***********P4**********")
(indicate-rotation-for-12 (P4-up l3))
(format t "~%***********+4-5**********")
(indicate-rotation-for-12 (+4-5-up l3))
(format t "~%***********P5**********")
(indicate-rotation-for-12 (P5-up l3))
(format t "~%***********m6**********")
(indicate-rotation-for-12 (m6-up l3))
(format t "~%***********M6**********")
(indicate-rotation-for-12 (M6-up l3))
(format t "~%***********m7**********")
(indicate-rotation-for-12 (m7-up l3))
(format t "~%***********M7**********")
(indicate-rotation-for-12 (M7-up l3))
(format t "~%****** 反行逆行形 *******")
(format t "~%***********P1**********")
(indicate-rotation-for-12 l4)
(format t "~%***********m2***********")
(indicate-rotation-for-12 (m2-up l4))
(format t "~%***********M2**********")
(indicate-rotation-for-12 (M2-up l4))
(format t "~%***********m3**********")
(indicate-rotation-for-12 (m3-up l4))
(format t "~%***********M3**********")
(indicate-rotation-for-12 (M3-up l4))
(format t "~%***********P4**********")
(indicate-rotation-for-12 (P4-up l4))
(format t "~%***********+4-5**********")
(indicate-rotation-for-12 (+4-5-up l4))
(format t "~%***********P5**********")
(indicate-rotation-for-12 (P5-up l4))
(format t "~%***********m6**********")
(indicate-rotation-for-12 (m6-up l4))
(format t "~%***********M6**********")
(indicate-rotation-for-12 (M6-up l4))
(format t "~%***********m7**********")
(indicate-rotation-for-12 (m7-up l4))
(format t "~%***********M7**********")
(indicate-rotation-for-12 (M7-up l4))))
(defun make-all-rotation-2 ()
(let* ((l1 (make-O-2))
(l2 (make-R l1))
(l3 (make-I l1))
(l4 (make-IR l1)))
(format t "~%****** 基本形 *******")
(format t "~%***********P1**********")
(indicate-rotation-for-12 l1)
(format t "~%***********m2***********")
(indicate-rotation-for-12 (m2-up l1))
(format t "~%***********M2**********")
(indicate-rotation-for-12 (M2-up l1))
(format t "~%***********m3**********")
(indicate-rotation-for-12 (m3-up l1))
(format t "~%***********M3**********")
(indicate-rotation-for-12 (M3-up l1))
(format t "~%***********P4**********")
(indicate-rotation-for-12 (P4-up l1))
(format t "~%***********+4-5**********")
(indicate-rotation-for-12 (+4-5-up l1))
(format t "~%***********P5**********")
(indicate-rotation-for-12 (P5-up l1))
(format t "~%***********m6**********")
(indicate-rotation-for-12 (m6-up l1))
(format t "~%***********M6**********")
(indicate-rotation-for-12 (M6-up l1))
(format t "~%***********m7**********")
(indicate-rotation-for-12 (m7-up l1))
(format t "~%***********M7**********")
(indicate-rotation-for-12 (M7-up l1))
(format t "~%****** 逆行形 *******")
(format t "~%***********P1**********")
(indicate-rotation-for-12 l2)
(format t "~%***********m2***********")
(indicate-rotation-for-12 (m2-up l2))
(format t "~%***********M2**********")
(indicate-rotation-for-12 (M2-up l2))
(format t "~%***********m3**********")
(indicate-rotation-for-12 (m3-up l2))
(format t "~%***********M3**********")
(indicate-rotation-for-12 (M3-up l2))
(format t "~%***********P4**********")
(indicate-rotation-for-12 (P4-up l2))
(format t "~%***********+4-5**********")
(indicate-rotation-for-12 (+4-5-up l2))
(format t "~%***********P5**********")
(indicate-rotation-for-12 (P5-up l2))
(format t "~%***********m6**********")
(indicate-rotation-for-12 (m6-up l2))
(format t "~%***********M6**********")
(indicate-rotation-for-12 (M6-up l2))
(format t "~%***********m7**********")
(indicate-rotation-for-12 (m7-up l2))
(format t "~%***********M7**********")
(indicate-rotation-for-12 (M7-up l2))
(format t "~%****** 反行形 *******")
(format t "~%***********P1**********")
(indicate-rotation-for-12 l3)
(format t "~%***********m2***********")
(indicate-rotation-for-12 (m2-up l3))
(format t "~%***********M2**********")
(indicate-rotation-for-12 (M2-up l3))
(format t "~%***********m3**********")
(indicate-rotation-for-12 (m3-up l3))
(format t "~%***********M3**********")
(indicate-rotation-for-12 (M3-up l3))
(format t "~%***********P4**********")
(indicate-rotation-for-12 (P4-up l3))
(format t "~%***********+4-5**********")
(indicate-rotation-for-12 (+4-5-up l3))
(format t "~%***********P5**********")
(indicate-rotation-for-12 (P5-up l3))
(format t "~%***********m6**********")
(indicate-rotation-for-12 (m6-up l3))
(format t "~%***********M6**********")
(indicate-rotation-for-12 (M6-up l3))
(format t "~%***********m7**********")
(indicate-rotation-for-12 (m7-up l3))
(format t "~%***********M7**********")
(indicate-rotation-for-12 (M7-up l3))
(format t "~%****** 反行逆行形 *******")
(format t "~%***********P1**********")
(indicate-rotation-for-12 l4)
(format t "~%***********m2***********")
(indicate-rotation-for-12 (m2-up l4))
(format t "~%***********M2**********")
(indicate-rotation-for-12 (M2-up l4))
(format t "~%***********m3**********")
(indicate-rotation-for-12 (m3-up l4))
(format t "~%***********M3**********")
(indicate-rotation-for-12 (M3-up l4))
(format t "~%***********P4**********")
(indicate-rotation-for-12 (P4-up l4))
(format t "~%***********+4-5**********")
(indicate-rotation-for-12 (+4-5-up l4))
(format t "~%***********P5**********")
(indicate-rotation-for-12 (P5-up l4))
(format t "~%***********m6**********")
(indicate-rotation-for-12 (m6-up l4))
(format t "~%***********M6**********")
(indicate-rotation-for-12 (M6-up l4))
(format t "~%***********m7**********")
(indicate-rotation-for-12 (m7-up l4))
(format t "~%***********M7**********")
(indicate-rotation-for-12 (M7-up l4))))