Monorepo for Aesthetic.Computer aesthetic.computer
at main 115 lines 4.5 kB view raw
1;;; Package definitions for AC Native OS 2 3(defpackage :ac-native.util 4 (:use :cl) 5 (:export #:ac-log #:monotonic-time-ms #:frame-sync-60fps)) 6 7(defpackage :ac-native.syscalls 8 (:use :cl :cffi) 9 (:export #:sys-open #:sys-close #:sys-read #:sys-write 10 #:sys-ioctl #:sys-mmap #:sys-munmap 11 #:sys-mount #:sys-umount 12 #:sys-reboot #:sys-poweroff #:sys-getpid 13 #:sys-fork #:sys-execvp #:sys-waitpid 14 #:+o-rdonly+ #:+o-wronly+ #:+o-rdwr+ #:+o-nonblock+ #:+o-cloexec+ 15 #:+prot-read+ #:+prot-write+ #:+map-shared+ 16 #:+clock-monotonic+)) 17 18(defpackage :ac-native.color 19 (:use :cl) 20 (:export #:make-color #:color-r #:color-g #:color-b #:color-a 21 #:color-pack-argb32 #:color-blend)) 22 23(defpackage :ac-native.framebuffer 24 (:use :cl :cffi :ac-native.color) 25 (:export #:make-framebuffer #:fb-create #:fb-destroy 26 #:fb-width #:fb-height #:fb-stride #:fb-pixels 27 #:fb-clear #:fb-put-pixel #:fb-blend-pixel 28 #:fb-copy-scaled)) 29 30(defpackage :ac-native.drm 31 (:use :cl :cffi :ac-native.syscalls :ac-native.framebuffer) 32 (:export #:drm-init #:drm-destroy #:drm-present #:drm-flip 33 #:display-width #:display-height)) 34 35(defpackage :ac-native.graph 36 (:use :cl :ac-native.color :ac-native.framebuffer) 37 (:export #:make-graph #:graph-wipe #:graph-ink 38 #:graph-plot #:graph-line #:graph-box #:graph-circle)) 39 40(defpackage :ac-native.font 41 (:use :cl :ac-native.color :ac-native.graph :ac-native.framebuffer) 42 (:export #:font-init #:font-draw #:font-measure)) 43 44(defpackage :ac-native.input 45 (:use :cl :cffi :ac-native.syscalls) 46 (:export #:input-init #:input-destroy #:input-poll 47 #:make-event #:event-type #:event-key #:event-code #:event-x #:event-y 48 ;; Special keys 49 #:+key-esc+ #:+key-backspace+ #:+key-tab+ #:+key-enter+ 50 #:+key-leftctrl+ #:+key-space+ #:+key-f1+ 51 #:+key-up+ #:+key-down+ #:+key-left+ #:+key-right+ 52 #:+key-home+ #:+key-end+ #:+key-power+ 53 #:+key-minus+ #:+key-equal+ 54 ;; Number row 55 #:+key-1+ #:+key-2+ #:+key-3+ #:+key-4+ #:+key-5+ 56 #:+key-6+ #:+key-7+ #:+key-8+ #:+key-9+ #:+key-0+ 57 ;; QWERTY rows 58 #:+key-q+ #:+key-w+ #:+key-e+ #:+key-r+ #:+key-t+ 59 #:+key-y+ #:+key-u+ #:+key-i+ #:+key-o+ #:+key-p+ 60 #:+key-leftbrace+ #:+key-rightbrace+ 61 #:+key-a+ #:+key-s+ #:+key-d+ #:+key-f+ #:+key-g+ 62 #:+key-h+ #:+key-j+ #:+key-k+ #:+key-l+ 63 #:+key-semicolon+ #:+key-apostrophe+ 64 #:+key-z+ #:+key-x+ #:+key-c+ #:+key-v+ #:+key-b+ 65 #:+key-n+ #:+key-m+)) 66 67(defpackage :ac-native.alsa 68 (:use :cl :cffi) 69 (:export #:pcm-open #:pcm-close #:pcm-writei #:pcm-prepare #:pcm-recover 70 #:pcm-set-params #:mixer-set-capture-volume 71 #:snd-strerror 72 #:+snd-pcm-stream-playback+ #:+snd-pcm-stream-capture+ 73 #:+snd-pcm-format-s16-le+ #:+snd-pcm-format-float-le+ 74 #:+snd-pcm-access-rw-interleaved+)) 75 76(defpackage :ac-native.audio 77 (:use :cl :cffi :bordeaux-threads 78 :ac-native.alsa :ac-native.util) 79 (:export #:audio-init #:audio-destroy 80 #:audio-synth #:audio-synth-kill 81 #:audio-sample-play #:audio-sample-load-data)) 82 83(defpackage :ac-native.config 84 (:use :cl) 85 (:export #:load-config #:make-config #:config-handle #:config-piece 86 #:config-claude-token #:config-github-pat #:config-wifi 87 #:write-device-tokens)) 88 89(defpackage :ac-native.quickjs 90 (:use :cl :cffi) 91 (:export #:js-new-runtime #:js-free-runtime 92 #:js-new-context #:js-free-context 93 #:qjs-eval #:qjs-eval-module 94 #:qjs-get-global-string #:qjs-set-global-int 95 #:qjs-set-global-float #:qjs-set-global-string 96 #:qjs-register-func #:qjs-call-global #:qjs-call-with-api 97 #:qjs-arg-int #:qjs-arg-float #:qjs-arg-string 98 #:qjs-check-exception #:qjs-execute-pending 99 #:qjs-has-global-func)) 100 101(defpackage :ac-native.js-bridge 102 (:use :cl) 103 (:export #:js-init #:js-destroy #:js-load-piece 104 #:js-boot #:js-paint #:js-act #:js-sim)) 105 106(defpackage :ac-native 107 (:use :cl :ac-native.util :ac-native.color :ac-native.framebuffer 108 :ac-native.drm :ac-native.graph :ac-native.font 109 :ac-native.input :ac-native.audio :ac-native.config 110 :ac-native.js-bridge) 111 (:export #:main)) 112 113(defpackage :ac-native.build 114 (:use :cl) 115 (:export #:build))