diff -r f7ed1ea25050 -r 538a777f90c4 openalbridge/wrappers.c --- a/openalbridge/wrappers.c Sun Oct 11 16:23:59 2009 +0000 +++ b/openalbridge/wrappers.c Sun Oct 11 20:14:55 2009 +0000 @@ -18,147 +18,147 @@ #include "wrappers.h" + #ifdef __CPLUSPLUS extern "C" { #endif - - extern ALint *Sources; - - void *Malloc (size_t nbytes) { - void *aptr; - - if ((aptr = malloc(nbytes)) == NULL) { - fprintf(stderr, "ERROR 'malloc()': not enough memory\n"); - exit(-1); - } - return aptr; - } - - - void *Realloc (void *aptr, size_t nbytes) { - aptr = realloc(aptr, nbytes); + + extern ALint *Sources; - if (aptr == NULL) { - fprintf(stderr, "ERROR 'realloc()': not enough memory\n"); - free(aptr); - exit(-1); + void *Malloc (size_t nbytes) { + void *aptr; + + if ((aptr = malloc(nbytes)) == NULL) + err_dump("(%s) FATAL - not enough memory"); + + return aptr; } - return aptr; - } - - - FILE *Fopen (const char *fname, char *mode) { - FILE *fp; - if ((fp=fopen(fname,mode)) == NULL) - fprintf (stderr, "ERROR 'fopen()': can't open file %s in mode '%s'\n", fname, mode); - return fp; - } - - /*TODO make a proper error reporting routine*/ - ALint AlGetError (const char *str) { - ALenum error; + + + void *Realloc (void *aptr, size_t nbytes) { + aptr = realloc(aptr, nbytes); + + if (aptr == NULL) + err_dump("(%s) FATAL - not enough memory"); + + return aptr; + } + - error = alGetError(); - if (error != AL_NO_ERROR) { - fprintf(stderr, str, error); - return -2; - } else - return AL_TRUE; - } - - ALint AlGetError2 (const char *str, int num) { - ALenum error; + FILE *Fopen (const char *fname, char *mode) { + FILE *fp; + + fp = fopen(fname,mode); + if (fp == NULL) + err_ret("(%s) ERROR - can't open file %s in mode '%s'", prog, fname, mode); + return fp; + } - error = alGetError(); - if (error != AL_NO_ERROR) { - fprintf(stderr, str, error, num); - return -2; - } else - return AL_TRUE; - } - - void *helper_fadein(void *tmp) { - ALfloat gain; - ALfloat target_gain; - fade_t *fade; - uint32_t index; - uint16_t quantity; + /*TODO make a proper error reporting routine*/ + ALint AlGetError (const char *str) { + ALenum error; + + error = alGetError(); + if (error != AL_NO_ERROR) { + err_msg(str, prog); + return error; + } else + return AL_TRUE; + } - fade = tmp; - index = fade->index; - quantity = fade->quantity; - free (fade); - -#ifdef DEBUG - fprintf(stderr, "Fade-in: index %d quantity %d\n", index, quantity); -#endif - - /*save the volume desired after the fade*/ - alGetSourcef(Sources[index], AL_GAIN, &target_gain); - if (target_gain > 1.0f || target_gain <= 0.0f) - target_gain = 1.0f; - - alSourcePlay(Sources[index]); - - for (gain = 0.0f ; gain <= target_gain; gain += (float) quantity/10000) { -#ifdef DEBUG - fprintf(stderr, "Fade-in: set gain to: %f\n", gain); -#endif - alSourcef(Sources[index], AL_GAIN, gain); - usleep(10000); + ALint AlGetError2 (const char *str, int num) { + ALenum error; + + error = alGetError(); + if (error != AL_NO_ERROR) { + fprintf(stderr, str, error, num); + return -2; + } else + return AL_TRUE; } - AlGetError("ERROR %d in 'helper_fadein()': Setting fade in volume\n"); - -#ifndef _WIN32 - pthread_exit(NULL); -#else - _endthread(); + void *helper_fadein(void *tmp) { + ALfloat gain; + ALfloat target_gain; + fade_t *fade; + uint32_t index; + uint16_t quantity; + + fade = tmp; + index = fade->index; + quantity = fade->quantity; + free (fade); + +#ifdef DEBUG + err_msg("(%s) INFO - Fade-in in progress [index %d quantity %d]", prog, index, quantity); #endif - return 0; - } - - void *helper_fadeout(void *tmp) { - ALfloat gain; - ALfloat old_gain; - fade_t *fade; - uint32_t index; - uint16_t quantity; - - fade = tmp; - index = fade->index; - quantity = fade->quantity; - free(fade); - -#ifdef DEBUG - fprintf(stderr, "Fade-out: index %d quantity %d\n", index, quantity); + + /*save the volume desired after the fade*/ + alGetSourcef(Sources[index], AL_GAIN, &target_gain); + if (target_gain > 1.0f || target_gain <= 0.0f) + target_gain = 1.0f; + + alSourcePlay(Sources[index]); + + for (gain = 0.0f ; gain <= target_gain; gain += (float) quantity/10000) { +#ifdef TRACE + err_msg("(%s) DEBUG - Fade-in set gain to %f", gain); #endif - - alGetSourcef(Sources[index], AL_GAIN, &old_gain); - - for (gain = old_gain; gain >= 0.00f; gain -= (float) quantity/10000) { -#ifdef DEBUG - fprintf(stderr, "Fade-out: Set gain to %f\n", gain); + alSourcef(Sources[index], AL_GAIN, gain); + usleep(10000); + } + + AlGetError("(%s) WARN - Failed to set fade-in volume level"); + +#ifndef _WIN32 + pthread_exit(NULL); +#else + _endthread(); #endif - alSourcef(Sources[index], AL_GAIN, gain); - usleep(10000); + return 0; } - AlGetError("ERROR %d in 'helper_fadeout()': Setting fade out volume\n"); - - /*stop that sound and reset its volume*/ - alSourceStop (Sources[index]); - alSourcef (Sources[index], AL_GAIN, old_gain); - + void *helper_fadeout(void *tmp) { + ALfloat gain; + ALfloat old_gain; + fade_t *fade; + uint32_t index; + uint16_t quantity; + + fade = tmp; + index = fade->index; + quantity = fade->quantity; + free(fade); + +#ifdef DEBUG + err_msg("(%s) INFO - Fade-out in progress [index %d quantity %d]", prog, index, quantity); +#endif + + alGetSourcef(Sources[index], AL_GAIN, &old_gain); + + for (gain = old_gain; gain >= 0.00f; gain -= (float) quantity/10000) { +#ifdef TRACE + err_msg("(%s) DEBUG - Fade-out set gain to %f", gain); +#endif + alSourcef(Sources[index], AL_GAIN, gain); + usleep(10000); + } + + AlGetError("(%s) WARN - Failed to set fade-out volume level"); + + /*stop that sound and reset its volume*/ + alSourceStop (Sources[index]); + alSourcef (Sources[index], AL_GAIN, old_gain); + #ifndef _WIN32 - pthread_exit(NULL); + pthread_exit(NULL); #else - _endthread(); + _endthread(); #endif - return 0; - } - - + return 0; + } + + #ifdef __CPLUSPLUS } #endif