Update of /project/pal/cvsroot/pal In directory clnet:/tmp/cvs-serv23257
Modified Files: pal.lisp Log Message: Changed the arguments of sound functions. Volume is now 0 - 255.
--- /project/pal/cvsroot/pal/pal.lisp 2007/07/03 18:10:33 1.3 +++ /project/pal/cvsroot/pal/pal.lisp 2007/07/03 18:27:22 1.4 @@ -585,23 +585,24 @@
;;; Samples
-(defun load-sample (file &optional (volume 128)) - "Volume 0-128" +(defun load-sample (file &optional (volume 255)) + "Volume 0-255" (let ((sample (pal-ffi:load-wav (data-path file)))) - (pal-ffi:volume-chunk (pal-ffi:sample-chunk sample) volume) + (pal-ffi:volume-chunk (pal-ffi:sample-chunk sample) (1+ (truncate volume 2))) sample))
(declaim (inline play-sample)) -(defun play-sample (sample &optional (loops 0) (angle 0) (distance 0)) - "Angle is an integer between 0-360. Distance is an integer between 0-255." - (let ((channel (pal-ffi:play-channel -1 (pal-ffi:sample-chunk sample) loops))) - (pal-ffi:set-position channel angle distance) +(defun play-sample (sample &key (loops nil) (angle 0) (volume 255)) + "Angle is an integer between 0-360. Volume is an integer between 0-255." + (let ((channel (pal-ffi:play-channel -1 (pal-ffi:sample-chunk sample) (if (numberp loops) + loops + 0)))) + (pal-ffi:set-position channel angle (- 255 volume)) channel))
(defun set-sample-volume (sample volume) - "Volume 0-128." - (pal-ffi:volume-chunk (pal-ffi:sample-chunk sample) volume)) - + "Volume 0-255" + (pal-ffi:volume-chunk (pal-ffi:sample-chunk sample) (1+ (truncate volume 2))))
@@ -610,14 +611,16 @@ (defun load-music (file) (pal-ffi:load-music (data-path file)))
-(defun play-music (music &optional (loops -1) (volume 128)) - "Volume 0-128, -1 for loops is repeat" - (pal-ffi:volume-music volume) - (pal-ffi:play-music (pal-ffi:music-music music) loops)) +(defun play-music (music &optional (loops t) (volume 255)) + "Volume 0-255. Loops is: t = forever, nil = once, number = number of loops" + (pal-ffi:volume-music (1+ (truncate volume 2))) + (pal-ffi:play-music (pal-ffi:music-music music) (cond ((eq loops t) -1) + ((null loops) 0) + (t loops))))
(defun set-music-volume (volume) - "Volume 0-128" - (pal-ffi:volume-music volume)) + "Volume 0-255" + (pal-ffi:volume-music (1+ (truncate volume 2))))
(defun halt-music () (pal-ffi:halt-music))