caoliu023 发表于 2022-8-13 12:47:16

lisp版弹钢琴《源码》

本帖最后由 caoliu023 于 2022-8-13 19:55 编辑

首先感谢baitang36 带来的syz-midi32.fas函数库
原帖>>>[原创]用纯lisp播放midi音乐
本代码的and部分抄至tjuzkj【分享系列1】grread函数应用例子大汇总,源码分享!

还有dwx版的 lisp+dwx midi演奏回放器1.0版《源码》此贴必须的感谢highflybird大神




键盘1-7为钢琴控制按键,空格 回车及鼠标右键为退出程序

下边是主程序,如果不想麻烦可以直接下载附件,加载即可弹奏
(defun c:tt (/ pt)
(openmidi)
(while (and (setq pt (grread t 15 0))
      (not (and(= 2 (car pt))
      (or (= 13 (cadr pt)) (= 32 (cadr pt)))
       )
      ) ;_Enter Spacekongg
      (not (or (= (car pt) 11) (= (car pt) 25))) ;_Right button
   )
    ;;and这段是抄的tjuzkj【分享系列1】grread函数应用例子大汇总,源码分享!
    ;;http://bbs.mjtd.com/forum.php?mo ... 1313&fromuid=287566
    (cond
      ((and (= (car pt) 2) (= (cadr pt) 49)) (playmidi 4209808)) ;1
      ((and (= (car pt) 2) (= (cadr pt) 50)) (playmidi 4210320)) ;2
      ((and (= (car pt) 2) (= (cadr pt) 51)) (playmidi 4210832)) ;3
      ((and (= (car pt) 2) (= (cadr pt) 52)) (playmidi 4211088)) ;4
      ((and (= (car pt) 2) (= (cadr pt) 53)) (playmidi 4211600)) ;5
      ((and (= (car pt) 2) (= (cadr pt) 54)) (playmidi 4212112)) ;6
      ((and (= (car pt) 2) (= (cadr pt) 55)) (playmidi 4212624)) ;7
    )
)
(closemidi)
(princ)
)
2进制文件打包用的baitang36的把任意文件打包到lsp程序中[汇编语言版]









guosheyang 发表于 2022-8-13 12:53:49

还是32位CAD适用哈?

caoliu023 发表于 2022-8-13 12:55:21

guosheyang 发表于 2022-8-13 12:53
还是32位CAD适用哈?

是的,基与baitang36的函数库

mokson 发表于 2022-8-13 14:22:33

涌现高才生,雨后春笋。

自贡黄明儒 发表于 2022-8-13 15:06:22

这是一个英雄辈出的时代。
页: [1]
查看完整版本: lisp版弹钢琴《源码》