X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fsound%2Fopenal_test1.cxx;h=0a6dc885a2961584d79977acc092d612d3f4ae03;hb=be7065674586ffbb5940ab21a028bc8c461217e2;hp=e94391e3cf283558a6246e6b9b6eba3648589707;hpb=be309603667c3f00b7d6a3b2fbfd5db33b2ae878;p=simgear.git diff --git a/simgear/sound/openal_test1.cxx b/simgear/sound/openal_test1.cxx index e94391e3..0a6dc885 100644 --- a/simgear/sound/openal_test1.cxx +++ b/simgear/sound/openal_test1.cxx @@ -1,9 +1,8 @@ #include -#ifdef __MINGW32__ -// This is broken, but allows the file to compile without a POSIX -// environment. -static unsigned int sleep(unsigned int secs) { return 0; } +#ifdef _WIN32 +#include +#define sleep(x) Sleep(x*1000) #else #include // sleep() #endif @@ -13,13 +12,19 @@ static unsigned int sleep(unsigned int secs) { return 0; } # define AL_ILLEGAL_COMMAND AL_INVALID_OPERATION # include # include -# include +# include +#elif defined(OPENALSDK) +# include +# include +# include #else # include # include # include #endif +#define AUDIOFILE SRC_DIR"/jet.wav" + #include static void print_openal_error( ALuint error ) { @@ -44,6 +49,9 @@ int main( int argc, char *argv[] ) { ALCdevice *dev; ALCcontext *context; + alutInit(&argc, argv); + sglog().setLogLevels( SG_ALL, SG_ALERT ); + // initialize OpenAL if ( (dev = alcOpenDevice( NULL )) != NULL && ( context = alcCreateContext( dev, NULL )) != NULL ) { @@ -95,11 +103,7 @@ int main( int argc, char *argv[] ) { ALfloat source_vel[3]; // configuration values - ALenum format; - ALsizei size; - ALvoid* data; - ALsizei freq; - ALboolean loop; + ALboolean loop = false; source_pos[0] = 0.0; source_pos[1] = 0.0; source_pos[2] = 0.0; source_vel[0] = 0.0; source_vel[1] = 0.0; source_vel[2] = 0.0; @@ -115,11 +119,24 @@ int main( int argc, char *argv[] ) { } // Load the sample file -#if defined (__APPLE__) - alutLoadWAVFile( (ALbyte *)"jet.wav", &format, &data, &size, &freq ); +#if defined(ALUT_API_MAJOR_VERSION) && ALUT_API_MAJOR_VERSION >= 1 + + buffer = alutCreateBufferFromFile(AUDIOFILE); + if (buffer == AL_NONE) { + SG_LOG( SG_GENERAL, SG_ALERT, "Failed to buffer data."); + } + #else - alutLoadWAVFile( (ALbyte *)"jet.wav", &format, &data, &size, &freq, &loop ); -#endif + ALenum format; + ALsizei size; + ALvoid* data; + ALsizei freq; + +# if defined (__APPLE__) + alutLoadWAVFile( (ALbyte *)AUDIOFILE, &format, &data, &size, &freq ); +# else + alutLoadWAVFile( (ALbyte *)AUDIOFILE, &format, &data, &size, &freq, &loop ); +# endif if (alGetError() != AL_NO_ERROR) { SG_LOG( SG_GENERAL, SG_ALERT, "Failed to load wav file."); } @@ -131,6 +148,7 @@ int main( int argc, char *argv[] ) { } alutUnloadWAV( format, data, size, freq ); +#endif alGenSources(1, &source); if (alGetError() != AL_NO_ERROR) { @@ -147,6 +165,7 @@ int main( int argc, char *argv[] ) { alSourcePlay( source ); sleep(10); + alutExit(); return 0; }