Update of /project/cello/cvsroot/cello/cl-openal In directory clnet:/tmp/cvs-serv22618/cl-openal
Added Files: al.lisp alc.lisp alctypes.lisp altypes.lisp alu.lisp alut.lisp cl-openal-config.lisp cl-openal-demo.lisp cl-openal-init.lisp cl-openal.asd cl-openal.lisp cl-openal.lpr cl-opengl-config.lisp wav-handling.lisp Log Message: CVS re-organization bringing auxiliary packages under one Cello module
--- /project/cello/cvsroot/cello/cl-openal/al.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/al.lisp 2006/05/17 16:14:30 1.1 (in-package :cl-openal)
#|* * OpenAL cross platform audio library * Copyright (C) 1999-2000 by authors. * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * Or go to http://www.gnu.org/copyleft/lgpl.html |#
#|* * OpenAL Maintenance Functions * Initialization and exiting. * State Management and Query. * Error Handling. * Extension Support. |#
#|* State management. |# (defun-ffx al-void "openal" "alEnable" ( al-enum capability )) (defun-ffx al-void "openal" "alDisable" ( al-enum capability )) (defun-ffx al-boolean "openal" "alIsEnabled" ( al-enum capability ))
#|* Application preferences for driver performance choices. |# (defun-ffx al-void "openal" "alHint" ( al-enum target al-enum mode ))
#|* State retrieval. |# (defun-ffx al-boolean "openal" "alGetBoolean" ( al-enum param )) (defun-ffx al-int "openal" "alGetInteger" ( al-enum param )) (defun-ffx al-float "openal" "alGetFloat" ( al-enum param )) (defun-ffx al-double "openal" "alGetDouble" ( al-enum param )) (defun-ffx al-void "openal" "alGetBooleanv" ( al-enum param :void *data )) (defun-ffx al-void "openal" "alGetIntegerv" ( al-enum param :void *data )) (defun-ffx al-void "openal" "alGetFloatv" ( al-enum param :void *data )) (defun-ffx al-void "openal" "alGetDoublev" ( al-enum param :void *data )) (defun-ffx :pointer "openal" "alGetString" ( al-enum param ))
#|* * Error support. * Obtain the most recent error generated in the AL state machine. |#
(defun-ffx al-enum "openal" "alGetError" ( ))
#|* * Extension support. * Obtain the address of a function (usually an extension) * with the name fname. All addresses are context-independent. |# (defun-ffx al-boolean "openal" "alIsExtensionPresent" ( :void *fname ))
#|* * Extension support. * Obtain the address of a function (usually an extension) * with the name fname. All addresses are context-independent. |# (defun-ffx :pointer "openal" "alGetProcAddress" ( :void *fname ))
#|* * Extension support. * Obtain the integer value of an enumeration (usually an extension) with the name ename. |# (defun-ffx al-enum "openal" "alGetEnumValue" ( :void *ename ))
#|* * LISTENER * Listener is the sample position for a given context. * The multi-channel (usually stereo) output stream generated * by the mixer is parametrized by this Listener object: * its position and velocity relative to Sources, within * occluder and reflector geometry. |#
#|* * * Listener Environment: default 0. |#
(defun-ffx al-void "openal" "alListeneri" ( al-enum param al-int value ))
#|* * * Listener Gain: default 1.0f. |#
(defun-ffx al-void "openal" "alListenerf" ( al-enum param al-float value ))
#|* * * Listener Position. * Listener Velocity. |# (defun-ffx al-void "openal" "alListener3f" ( al-enum param al-float v1 al-float v2 al-float v3 ))
#|* * * Listener Position: ALfloat[3] * Listener Velocity: ALfloat[3] * Listener Orientation: ALfloat[6] (forward and up vector). |# (defun-ffx al-void "openal" "alListenerfv" ( al-enum param :void *values ))
(defun-ffx al-void "openal" "alGetListeneri" ( al-enum param :void *value )) (defun-ffx al-void "openal" "alGetListenerf" ( al-enum param :void *value )) (defun-ffx al-void "openal" "alGetListener3f" ( al-enum param :void *v1 :void *v2 :void *v3 )) (defun-ffx al-void "openal" "alGetListenerfv" ( al-enum param :void *values ))
#|* * SOURCE * Source objects are by default localized. Sources * take the PCM data provided in the specified Buffer, * apply Source-specific modifications, and then * submit them to be mixed according to spatial * arrangement etc. |#
#|* Create Source objects. |# (defun-ffx al-void "openal" "alGenSources" ( al-sizei n :void *sources ))
#|* Delete Source objects. |# (defun-ffx al-void "openal" "alDeleteSources" ( al-sizei n :void *sources ))
#|* Verify a handle is a valid Source. |# (defun-ffx al-boolean "openal" "alIsSource" ( al-uint id ))
#|* Set an integer parameter for a Source object. |# (defun-ffx al-void "openal" "alSourcei" ( al-uint source al-enum param al-int value )) (defun-ffx al-void "openal" "alSourcef" ( al-uint source al-enum param al-float value )) (defun-ffx al-void "openal" "alSource3f" ( al-uint source al-enum param al-float v1 al-float v2 al-float v3 )) (defun-ffx al-void "openal" "alSourcefv" ( al-uint source al-enum param :void *values ))
#|* Get an integer parameter for a Source object. |# (defun-ffx al-void "openal" "alGetSourcei" ( al-uint source al-enum param :void *value )) (defun-ffx al-void "openal" "alGetSourcef" ( al-uint source al-enum param :void *value )) (defun-ffx al-void "openal" "alGetSource3f" ( al-uint source al-enum param :void *v1 :void *v2 :void *v3 )) (defun-ffx al-void "openal" "alGetSourcefv" ( al-uint source al-enum param :void *values ))
(defun-ffx al-void "openal" "alSourcePlayv" ( al-sizei n al-uint *sources )) (defun-ffx al-void "openal" "alSourcePausev" ( al-sizei n al-uint *sources )) (defun-ffx al-void "openal" "alSourceStopv" ( al-sizei n al-uint *sources )) (defun-ffx al-void "openal" "alSourceRewindv" (al-sizei n al-uint *sources))
#|* Activate a source, start replay. |# (defun-ffx al-void "openal" "alSourcePlay" ( al-uint source ))
#|* * Pause a source, * temporarily remove it from the mixer list. |# (defun-ffx al-void "openal" "alSourcePause" ( al-uint source ))
#|* * Stop a source, * temporarily remove it from the mixer list, * and reset its internal state to pre-Play. * To remove a Source completely, it has to be * deleted following Stop, or before Play. |# (defun-ffx al-void "openal" "alSourceStop" ( al-uint source ))
#| * * Rewinds a source, * temporarily remove it from the mixer list, * and reset its internal state to pre-Play. |# (defun-ffx al-void "openal" "alSourceRewind" ( al-uint source ))
#| * * BUFFER * Buffer objects are storage space for sample data. * Buffers are referred to by Sources. There can be more than * one Source using the same Buffer data. If Buffers have * to be duplicated on a per-Source basis, the driver has to * take care of allocation, copying, and deallocation as well * as propagating buffer data changes. |#
#|* Buffer object generation. |#
(defun-ffx al-void "openal" "alGenBuffers" ( al-sizei n :void *buffer-uints )) (defun-ffx al-void "openal" "alDeleteBuffers" ( al-sizei n :void *buffers )) (defun-ffx al-boolean "openal" "alIsBuffer" ( al-uint buffer ))
#| * * Specify the data to be filled into a buffer. * |# (defun-ffx al-void "openal" "alBufferData" ( al-uint buffer al-enum format :void *data al-sizei size al-sizei freq ))
(defun-ffx al-void "openal" "alGetBufferi" ( al-uint buffer al-enum param :void *value )) (defun-ffx al-void "openal" "alGetBufferf" ( al-uint buffer al-enum param :void *value ))
#| * * Queue stuff * |#
(defun-ffx al-void "openal" "alSourceQueueBuffers" ( al-uint source al-sizei n :void *buffers )) (defun-ffx al-void "openal" "alSourceUnqueueBuffers" ( al-uint source al-sizei n :void *buffers ))
#| * * Knobs and dials * |# (defun-ffx al-void "openal" "alDistanceModel" ( al-enum value )) (defun-ffx al-void "openal" "alDopplerFactor" ( al-float value )) (defun-ffx al-void "openal" "alDopplerVelocity" ( al-float value )) --- /project/cello/cvsroot/cello/cl-openal/alc.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/alc.lisp 2006/05/17 16:14:30 1.1 (in-package :cl-openal)
; typedef struct ALCdevice_struct ALCdevice; ; typedef struct ALCcontext_struct ALCcontext;
;;;(defun-ffx ALCubyte* "openal" "alcGetString" (ALCdevice *device ALCenum param)) ;;;(defun-ffx ALCvoid "openal" "alcGetIntegerv" (ALCdevice *device ALCenum param ALCsizei size ALCint *data)) ;;;
(defun-ffx :pointer "openal" "alcOpenDevice" (:string device-name)) (defun-ffx :void "openal" "alcCloseDevice" (:void *device)) (defun-ffx :pointer "openal" "alcCreateContext" (:void *device alc-int *attr-list)) (defun-ffx alc-enum "openal" "alcMakeContextCurrent" (:void *context))
(defun-ffx :void "openal" "alcProcessContext" (:void *context)) (defun-ffx :pointer "openal" "alcGetCurrentContext" ()) (defun-ffx :pointer "openal" "alcGetContextsDevice" (:void *context)) (defun-ffx :void "openal" "alcSuspendContext" (:void *context)) (defun-ffx alc-enum "openal" "alcDestroyContext" (:void *context)) ;;; (defun-ffx alc-enum "openal" "alcGetError" (:void *device)) ;;; (defun-ffx alc-boolean "openal" "alcIsExtensionPresent" (:void *device alc-ubyte *ext-name)) (defun-ffx :void "openal" "alcGetProcAddress" (:void *device alc-ubyte *func-name)) (defun-ffx alc-enum "openal" "alcGetEnumValue" (:void *device alc-ubyte *enum-name)) --- /project/cello/cvsroot/cello/cl-openal/alctypes.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/alctypes.lisp 2006/05/17 16:14:30 1.1 (in-package :cl-openal)
#| * OpenAL cross platform audio library * Copyright (C) 1999-2000 by authors. * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * Or go to http://www.gnu.org/copyleft/lgpl.html |#
(dft alc-boolean :unsigned-char #+allegro character #-allegro number) (dft alc-byte :char #+allegro character #-allegro number) (dft alc-ubyte :unsigned-char #+allegro character #-allegro number) (dft alc-short #-allegro-v5.0.1 :short #+allegro-v5.0.1 :int integer) (dft alc-ushort #-allegro-v5.0.1 :unsigned-int #+allegro-v5.0.1 :int integer) (dft alc-uint #-allegro-v5.0.1 :unsigned-int #+allegro-v5.0.1 :int integer) (dft alc-int :int integer) (dft alc-float #+lispworks :lisp-single-float #-lispworks :float single-float) (dft alc-double :double double-float) (dft alc-sizei #-allegro-v5.0.1 :unsigned-int #+allegro-v5.0.1 :int integer) (dft alc-void :void integer) (dft alc-enum #-allegro-v5.0.1 :unsigned-int #+allegro-v5.0.1 :int integer)
(dfc alc_invalid -1) (dfc alc_false 0) (dfc alc_true 1) (dfc alc_no_error alc_false)
(dfc alc_major_version #x1000) (dfc alc_minor_version #x1001) (dfc alc_attributes_size #x1002) (dfc alc_all_attributes #x1003)
(dfc alc_default_device_specifier #x1004) (dfc alc_device_specifier #x1005) (dfc alc_extensions #x1006)
(dfc alc_frequency #x1007) (dfc alc_refresh #x1008) (dfc alc_sync #x1009) (dfc alc_invalid_device #xa001) (dfc alc_invalid_context #xa002) (dfc alc_invalid_enum #xa003) (dfc alc_invalid_value #xa004) (dfc alc_out_of_memory #xa005) --- /project/cello/cvsroot/cello/cl-openal/altypes.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/altypes.lisp 2006/05/17 16:14:30 1.1 (in-package :cl-openal) #| * OpenAL cross platform audio library * Copyright (C) 1999-2000 by authors. * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * Or go to http://www.gnu.org/copyleft/lgpl.html |#
(dft al-enum #-allegro-v5.0.1 :unsigned-int #+allegro-v5.0.1 :int integer) (dft al-bitfield #-allegro-v5.0.1 :unsigned-int #+allegro-v5.0.1 :int integer)
(dft al-int :int integer) (dft al-sizei :int integer)
(dft al-uint #-allegro-v5.0.1 :unsigned-int #+allegro-v5.0.1 :int integer) (dft al-ushort #-allegro-v5.0.1 :unsigned-int #+allegro-v5.0.1 :int integer)
(dft al-float #+lispworks :lisp-single-float #-lispworks :float single-float) (dft al-clampf #+lispworks :lisp-single-float #-lispworks :float single-float)
(dft al-double :double double-float) (dft al-clampd :double double-float)
(dft al-boolean :unsigned-char #+allegro character #-allegro number) (dft al-byte :char #+allegro character #-allegro number) ;; typedef signed char GLbyte; (dft al-void :void integer)
(dft al-short #-allegro-v5.0.1 :short #+allegro-v5.0.1 :int integer) (dft al-ubyte :unsigned-char #+allegro character #-allegro number)
(dft al-sizei #-allegro-v5.0.1 :unsigned-int #+allegro-v5.0.1 :int integer)
(dfc al_invalid -1) (dfc al_none 0) (dfc al_false 0) (dfc al_true 1)
#|* * Indicate the type of AL_SOURCE. * Sources can be spatialized |# (dfc al_source_type #x200)
#|* Indicate source has absolute coordinates. |# (dfc al_source_absolute #x201)
#|* Indicate Source has listener relative coordinates. |# (dfc al_source_relative #x202)
#|* * Directional source, inner cone angle, in degrees. * Range: [0-360] * Default: 360 |# (dfc al_cone_inner_angle #x1001)
#|* * Directional source, outer cone angle, in degrees. * Range: [0-360] * Default: 360 |# (dfc al_cone_outer_angle #x1002)
#|* * Specify the pitch to be applied, either at source,
[219 lines skipped] --- /project/cello/cvsroot/cello/cl-openal/alu.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/alu.lisp 2006/05/17 16:14:30 1.1
[258 lines skipped] --- /project/cello/cvsroot/cello/cl-openal/alut.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/alut.lisp 2006/05/17 16:14:30 1.1
[286 lines skipped] --- /project/cello/cvsroot/cello/cl-openal/cl-openal-config.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/cl-openal-config.lisp 2006/05/17 16:14:30 1.1
[327 lines skipped] --- /project/cello/cvsroot/cello/cl-openal/cl-openal-demo.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/cl-openal-demo.lisp 2006/05/17 16:14:30 1.1
[347 lines skipped] --- /project/cello/cvsroot/cello/cl-openal/cl-openal-init.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/cl-openal-init.lisp 2006/05/17 16:14:30 1.1
[438 lines skipped] --- /project/cello/cvsroot/cello/cl-openal/cl-openal.asd 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/cl-openal.asd 2006/05/17 16:14:30 1.1
[469 lines skipped] --- /project/cello/cvsroot/cello/cl-openal/cl-openal.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/cl-openal.lisp 2006/05/17 16:14:30 1.1
[531 lines skipped] --- /project/cello/cvsroot/cello/cl-openal/cl-openal.lpr 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/cl-openal.lpr 2006/05/17 16:14:30 1.1
[573 lines skipped] --- /project/cello/cvsroot/cello/cl-openal/cl-opengl-config.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/cl-opengl-config.lisp 2006/05/17 16:14:30 1.1
[616 lines skipped] --- /project/cello/cvsroot/cello/cl-openal/wav-handling.lisp 2006/05/17 16:14:30 NONE +++ /project/cello/cvsroot/cello/cl-openal/wav-handling.lisp 2006/05/17 16:14:30 1.1
[753 lines skipped]