Mercurial > ~darius > hgwebdir.cgi > mikmod
diff mmio/mmerror.c @ 10:55420dceb8e0
Initial entry of mikmod into the CVS tree.
author | darius |
---|---|
date | Fri, 23 Jan 1998 16:05:11 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmio/mmerror.c Fri Jan 23 16:05:11 1998 +0000 @@ -0,0 +1,103 @@ +/* + --> The MM_Error Portable Error Handling Functions + -> Divine Entertainment GameDev Libraries + + File: MMERROR.C + + Description: + Error handling functions for use with the DivEnt MMIO and MikMod + libraries. Register an error handler with _mm_RegisterErrorHandler() + and you're all set. + + NOTES: + + - the global variables _mm_error, _mm_errno, and _mm_critical are + set before the error handler in called. See below for the values + of these variables. + +-------------------------- + + +*/ + + +#include "mmio.h" + +CHAR *_mm_errmsg[] = +{ + "", + +// Generic MikMod Errors [referenced by _mm_error] +// ----------------------------------------------- + + "Cannot open requested file", + "Out of memory", + "Unexpected end of file", + "Cannot write to file - Disk full", + +// Specific Misceallenous Errors: + + "Sample load failed - Out of memory", + "Sample load failed - Out of sample handles", + "Could not allocate page-contiguous dma-buffer", + "Unknown wave file or sample type", + "Unknown streaming audio type", + +// Specific Module Loader [MLOADER.C] errors: + + "Failure loading module pattern", + "Failure loading module track", + "Failure loading module header", + "Failure loading sampleinfo", + "Unknown module format", + +// Specific Driver [MDRIVER.C / drivers] errors: + + "None of the supported sound-devices were detected", + "Device number out of range", + "Software mixer failure - Out of memory", + +#ifdef SUN +#elif defined(SOLARIS) +#elif defined(__alpha) + "Cannot find suitable audio port!" +#elif defined(OSS) + #ifdef ULTRA + #endif +#elif defined(__hpux) + "Unable to open /dev/audio", + "Unable to set non-blocking mode for /dev/audio", + "Unable to select 16bit-linear sample format", + "Could not select requested sample-rate", + "Could not select requested number of channels", + "Unable to select audio output", + "Unable to get audio description", + "Unable to get gain values", + "Unable to set gain values", + "Could not set transmission buffer size" +#elif defined(AIX) + "Could not open AIX audio device", + "Configuration (init) of AIX audio device failed", + "Configuration (control) of AIX audio device failed", + "Configuration (start) of AIX audio device failed", + "Unable to set non-blocking mode for /dev/audio", +#elif defined(SGI) +#elif defined(__OS2__) +#elif defined(__WIN32__) +#else + "The requested soundcard was not found", + "Could not open a High-DMA channel" +#endif +}; + + +void (*_mm_errorhandler)(void) = NULL; +int _mm_errno = 0; +BOOL _mm_critical = 0; + + +void _mm_RegisterErrorHandler(void (*proc)(void)) +{ + _mm_errorhandler = proc; +} +