[cello-cvs] CVS cello/cl-openal
ktilton
ktilton at common-lisp.net
Sat May 27 06:01:38 UTC 2006
Update of /project/cello/cvsroot/cello/cl-openal
In directory clnet:/tmp/cvs-serv7090/cl-openal
Modified Files:
cl-openal-config.lisp cl-openal-demo.lisp cl-openal-init.lisp
cl-openal.lisp cl-openal.lpr wav-handling.lisp
Log Message:
--- /project/cello/cvsroot/cello/cl-openal/cl-openal-config.lisp 2006/05/17 16:14:29 1.1
+++ /project/cello/cvsroot/cello/cl-openal/cl-openal-config.lisp 2006/05/27 06:01:38 1.2
@@ -32,10 +32,10 @@
:type "dll"))
(defparameter *alut-dynamic-lib*
- (make-pathname :directory '(:absolute "0dvx" "user" "dynlib")
+ (make-pathname :directory '(:absolute "0dev" "user" "dynlib")
:name "alut" :type "dll"))
(defparameter *audio-files*
(make-pathname
- :directory '(:absolute "cell-cultures" "user" "sounds")
+ :directory '(:absolute "0dev" "user" "sounds")
:type "wav"))
--- /project/cello/cvsroot/cello/cl-openal/cl-openal-demo.lisp 2006/05/17 20:38:14 1.2
+++ /project/cello/cvsroot/cello/cl-openal/cl-openal-demo.lisp 2006/05/27 06:01:38 1.3
@@ -3,8 +3,8 @@
(defconstant num_buffers 7)
(defparameter g-buffers (fgn-alloc 'al-uint num_buffers))
-(defun cl-openal-test ()
- (let ((w$ (list "/0dvx/user/sounds/jshootme.wav" )))
+(defun cl-openal-test-many ()
+ (let ((w$ (list "/0dev/user/sounds/jshootme.wav" )))
(cl-openal-init)
(apply 'wav-play-till-end
(lambda (dur sources)
@@ -16,6 +16,8 @@
(sleep 1)
(cl-openal-shutdown))
+(defun cl-openal-test ()
+ (wav-play-till-end nil "/0dev/user/sounds/jshootme.wav"))
--- /project/cello/cvsroot/cello/cl-openal/cl-openal-init.lisp 2006/05/26 22:08:56 1.3
+++ /project/cello/cvsroot/cello/cl-openal/cl-openal-init.lisp 2006/05/27 06:01:38 1.4
@@ -24,13 +24,8 @@
(in-package :cl-openal)
-
(defparameter *openal-initialized-p* nil)
-(defun hex (dec)
- (let ((*print-base* 16.)(*print-radix* t))
- (princ dec)))
-
(defun cl-openal-init ()
;;(return-from cl-openal-init nil)
(when *openal-initialized-p*
@@ -38,10 +33,10 @@
(xoa)
- (assert (cffi-uffi-compat:load-foreign-library (namestring *al-dynamic-lib*))
+ (assert (use-foreign-library OpenAL)
() "Failed to load OpenAL dynamic lib ~a" *al-dynamic-lib*)
- (assert (cffi-uffi-compat:load-foreign-library (namestring *alut-dynamic-lib*))
+ (assert (use-foreign-library ALut)
() "Failed to load alut dynamic lib ~a" *alut-dynamic-lib*)
(format t "~&Open AL loaded")
--- /project/cello/cvsroot/cello/cl-openal/cl-openal.lisp 2006/05/17 20:38:14 1.2
+++ /project/cello/cvsroot/cello/cl-openal/cl-openal.lisp 2006/05/27 06:01:38 1.3
@@ -26,7 +26,7 @@
(defpackage #:cl-openal
(:nicknames #:oal)
- (:use #:common-lisp #:cffi #:ffx)
+ (:use #:common-lisp #:cffi #:cffi-extender)
(:export
#:xoa
#:al-chk
@@ -41,6 +41,19 @@
(in-package :cl-openal)
+(define-foreign-library OpenAL
+ (:darwin (:framework "OpenAL"))
+ (:windows (:or "/windows/system32/openal32.dll")))
+
+(define-foreign-library ALut
+ (:darwin (:framework "ALut"))
+ (:windows (:or "/windows/system32/alut.dll")))
+
+(defparameter *audio-files*
+ (make-pathname
+ :directory '(:absolute "0dev" "user" "sounds")
+ :type "wav"))
+
#+doit
(xoa)
--- /project/cello/cvsroot/cello/cl-openal/cl-openal.lpr 2006/05/26 22:08:56 1.3
+++ /project/cello/cvsroot/cello/cl-openal/cl-openal.lpr 2006/05/27 06:01:38 1.4
@@ -5,8 +5,7 @@
(defpackage :CL-OPENAL)
(define-project :name :cl-openal
- :modules (list (make-instance 'module :name "cl-openal-config.lisp")
- (make-instance 'module :name "cl-openal.lisp")
+ :modules (list (make-instance 'module :name "cl-openal.lisp")
(make-instance 'module :name "altypes.lisp")
(make-instance 'module :name "al.lisp")
(make-instance 'module :name "alctypes.lisp")
--- /project/cello/cvsroot/cello/cl-openal/wav-handling.lisp 2006/05/17 20:38:14 1.2
+++ /project/cello/cvsroot/cello/cl-openal/wav-handling.lisp 2006/05/27 06:01:38 1.3
@@ -47,6 +47,10 @@
(al-delete-sources sct sv)
(fgn-free sv)))
+(defun wav-play-start (wav-path)
+ (assert (probe-file wav-path))
+ (source-wav-play-start (car (al-source-gen 1)) wav-path))
+
(defun wav-play-till-end (callback &rest wav-names)
(when (cl-openal-init)
(let ((sources (al-source-gen (length wav-names))))
@@ -76,7 +80,8 @@
(let ((buffer (wav-to-buffer wav-path)))
(source-buffer-load source buffer)
(al-source-play source)
- (al-chk "al-Source-Play"))))
+ (al-chk "al-Source-Play")
+ source)))
(defun wav-to-buffer (wav-path)
(when (cl-openal-init)
More information about the Cello-cvs
mailing list