00001
00026 #ifndef _ALAPP_
00027 #define _ALAPP_
00028
00029 #include <disableWarnings.h>
00030 #include <Level2D.h>
00031 #include <Framework.h>
00032 #include <ALObj.h>
00033
00034 #include<Windows.h>
00035 #include<stdio.h>
00036 #include<io.h>
00037
00038 #include<fcntl.h>
00039
00040 #include<conio.h>
00041 #include<al.h>
00042 #include<alc.h>
00043 #include<efx.h>
00044 #include<efx-creative.h>
00045 #include<xram.h>
00046
00047 namespace sonus
00048 {
00049
00062 class ALApp
00063 {
00064 public:
00065
00070 ALApp();
00071
00076 ~ALApp();
00077
00085 void translateListener( ALfloat x, ALfloat y, ALfloat z );
00086
00092 void rotateListener( ALfloat angle );
00093
00101 void rotateListener( ALfloat x, ALfloat y, ALfloat z );
00102
00108 void setMetersPerUnit( ALfloat meters_per_unit );
00109
00110
00114 void createEAXReverbEffect();
00115
00121 void bindSourceEAXReverbEffect( ALObj *object );
00122
00123 private:
00124
00125 ALuint filter;
00126 ALuint effectSlot;
00127 ALuint effect;
00128 ALfloat listenerOrientation[ 6 ];
00129 ALfloat listenerPosition[ 3 ];
00130
00131 char result[ 1000 ];
00132 };
00133
00134 }
00135
00136 #endif