Leadwerks.OpenALEx
BlitzMax Forums/BlitzMax Module Tweaks/Leadwerks.OpenALEx
| ||
I rewrote BRL's OpenAL audio driver to create an *enhanced* driver with support for 3D spatialization, EAX effects, and sound falloff: http://www.leadwerks.com/post/OpenALAudioEx.zip The best part about this is you get advanced audio effects, but you can still use the nice standard Blitz commands. Here's what the sample program looks like: Import Leadwerks.OpenALAudioEx If Not OpenALInstalled() Notify "OpenAL32.dll not found.",1 End EndIf SetAudioDriver "OpenALEx" EnableEAX() Graphics 640,480,0,0,2 '3D sound/EAX sounds must be mono sound:TSound=LoadSound("pipe4.wav") LoopSound sound channel:TChannel=CueSound(sound) SetChannelRange channel,100 PositionChannel channel,0,0,1 ResumeChannel channel effect=EAX_DRUGGED EAXEffect effect While Not KeyHit(KEY_ESCAPE) x#:+(KeyDown(KEY_RIGHT)-KeyDown(KEY_LEFT)) z#:+(KeyDown(KEY_UP)-KeyDown(KEY_DOWN)) PositionListener x,0,z DrawText "Position: "+x+", "+y+", "+z,0,0 If EAXSupported() If KeyHit(KEY_SPACE) effect:+1 If effect>26 effect=0 EAXEffect effect EndIf DrawText "EAXEffect: "+effect+" (Press space to change.)",0,20 Else DrawText "EAX is not supported.",0,20 EndIf Flip 1 Cls() Wend End |
| ||
You need to change the mod subdir to OpenALAudioEx.mod rather than OpenALEx.mod. The positioning is good and the effect seems to work but doesn't change with spacebar. Am I missing something? |
| ||
Does your screen say EAX is supported or not? |
| ||
Sorry, it was me being a muppet. EAX supported but not switched on. |
| ||
I made a few changes and uploaded a new one at the above link. ChannelRange() is now SetChannelRange(). |
| ||
Hi leadwerks :) I have try the module but i get an error during compilation (my blitzmax is fresh) Blitzmax 1.24 without exotic modules Windows XP Pro + SP2 1 Go Ram + Athlon XP 2600 In debug mode the program crash on : EnableEAX() Stupid question but i need an EAX compatible Card ? or the module can do spacialization with motherboard sound card like nvidia ? Debug log ------------------------------------------------------------ Building Example Compiling:Example.bmx flat assembler version 1.66 3 passes, 4734 bytes. Linking:Example.exe Executing:Example.exe Attempt to call uninitialized function pointer Process complete |
| ||
You have to set the audio driver before you attempt to initialize EAX. I made a change that could fix a potential crash and re-uploaded. I included the source. If you make any improvements, please let us know. |
| ||
I just compile the previous package example :) ok i'll try to re download :) So, any news about my mesh under the engine ? do you find a way ? :) Cheers josh |
| ||
The lighting is done. It's nearly ready to release. See the dev log in my forum. |
| ||
lighting? Is this an audio engine or a render engine? ;) Russell |