[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pecl-dev
Subject:    [Package Proposal] openal
From:       "Sara Golemon" <pollita () php ! net>
Date:       2003-09-22 19:03:23
[Download RAW message or body]

Package Name: openal
Package Purpose: Provide PHP bindings to the OpenAL library.
Package Category: ???  Suggestions welcomed.
Linked Libraries: OpenAL 1.0 (Licensed under LGPL)
Exported Functions: 23 (Named: openal_*)
Registered Constants: 35 (Named: AL_*)
Resources: "Open AL(Device)", "Open AL(Context)", "Open AL(Buffer)", "Open
AL(Source)"
Streams: "Open AL" (stream_ops only, no wrapper; opened via
openal_stream($source,$format,$rate) )

I've exported most (but not all) of the OpenAL API, keeping the use as
similar to C-space as possible while taking into account how PHP deals with
data types and protecting the user from some of the uglier uses of scalar
pointers.

The PECL package can be found at:
http://frankenbox.alphaweb.net/PECL/packages/openal-0.1.tgz

An exploded version of the package (for your convenience) is right next to
that in:
http://frankenbox.alphaweb.net/PECL/packages/openal-0.1/

The folder contains one extra example file "test.php.txt" demonstrating a
basic example of playing a WAV file.

I'm saving more complex examples like listener orientation and dopler shift
for the online manual.

Befor you get confused about wordings like "rendering" and "dopler shift"
used in conjunction with a "simple" audio API, I should point out that
OpenAL was designed as a counter part for OpenGL (i.e. 3D gaming).  Hence it
carries some seemingly unnecessary baggage.

If you happen to test openal_stream() you'll notice some rough spots in the
output.  This is a section I plan to work over until it's smooth before
tagging PHP/openal as "stable" though the API itself won't be chaning.  In
the mean time this is more than ready to be used in conjunction with php-gtk
apps which are looking for dings and beeps and the like.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic