Error Reference
===============
The following errors are currently defined:
General Errors
--------------
`MMERR_DYNAMIC_LINKING'
This error occurs when a specific driver was requested, but the
support shared library couldn't be loaded. Currently, the only
drivers which can yield this error are the ALSA, EsounD and Ultra
drivers.
`MMERR_OPENING_FILE'
This error occurs when a file can not be opened, either for read
access from a `xx_Loadxx' function, or for write access from the
disk writer drivers.
`MMERR_OUT_OF_MEMORY'
This error occurs when there is not enough virtual memory
available to complete the operation, or there is enough memory but
the calling process would exceed its memory limit. MikMod does not
do any resource tuning, your program has to use the `setrlimit'
function to do this if it needs to load very huge samples.
Sample Errors
-------------
`MMERR_SAMPLE_TOO_BIG'
This error occurs when the memory allocation of the sample data
yields the error `MMERR_OUT_OF_MEMORY'.
`MMERR_OUT_OF_HANDLES'
This error occurs when your program reaches the limit of loaded
samples, currently defined as 384, which should be sufficient for
most cases.
`MMERR_UNKNOWN_WAVE_TYPE'
This error occurs when you're trying to load a sample which format
is not recognized.
Module Errors
-------------
`MMERR_ITPACK_INVALID_DATA'
This error occurs when a compressed module sample is corrupt.
`MMERR_LOADING_HEADER'
This error occurs when you're trying to load a module which has a
corrupted header, or is truncated.
`MMERR_LOADING_PATTERN'
This error occurs when you're trying to load a module which has
corrupted pattern data, or is truncated.
`MMERR_LOADING_SAMPLEINFO'
This error occurs when you're trying to load a module which has
corrupted sample information, or is truncated.
`MMERR_LOADING_TRACK'
This error occurs when you're trying to load a module which has
corrupted track data, or is truncated.
`MMERR_MED_SYNTHSAMPLES'
This error occurs when you're trying to load a MED module which
has synthsounds samples, which are currently not supported.(1)
`MMERR_NOT_A_MODULE'
This error occurs when you're trying to load a module which format
is not recognized.
`MMERR_NOT_A_STREAM'
This error occurs when you're trying to load a sample with a
sample which format is not recognized.
Driver Errors
-------------
Generic Driver Errors
.....................
`MMERR_16BIT_ONLY'
This error occurs when the sound device doesn't support non-16 bit
linear sound output, which are the requested settings.
`MMERR_8BIT_ONLY'
This error occurs when the sound device doesn't support non-8 bit
linear sound output, which are the requested settings.
`MMERR_DETECTING_DEVICE'
This error occurs when the driver's sound device has not been
detected.
`MMERR_INITIALIZING_MIXER'
This error occurs when MikMod's internal software mixer could not
be initialized properly.
`MMERR_INVALID_DEVICE'
This error occurs when the driver number (in `md_device') is out
of range.
`MMERR_NON_BLOCK'
This error occurs when the driver is unable to set the audio
device in non blocking mode.
`MMERR_OPENING_AUDIO'
This error occurs when the driver can not open sound device.
`MMERR_STEREO_ONLY'
This error occurs when the sound device doesn't support mono sound
output, which is the requested setting.
`MMERR_ULAW'
This error occurs when the sound device only supports uLaw output
(which implies mono, 8 bit, and 8000 Hz sampling rate), which
isn't the requested setting.
AudioFile Driver Specific Error
...............................
`MMERR_AF_AUDIO_PORT'
This error occurs when the AudioFile driver can not find a
suitable AudioFile port.
AIX Driver Specific Errors
..........................
`MMERR_AIX_CONFIG_CONTROL'
This error occurs when the "Control" step of the device
configuration has failed.
`MMERR_AIX_CONFIG_INIT'
This error occurs when the "Init" step of the device configuration
has failed.
`MMERR_AIX_CONFIG_START'
This error occurs when the "Start" step of the device
configuration has failed.
Ultra Driver Specific Errors
............................
`MMERR_GUS_RESET'
This error occurs when the sound device couldn't be reset.
`MMERR_GUS_SETTINGS'
This error occurs because the sound device only works in 16 bit
linear stereo sound at 44100 Hz, which is not the requested
settings.
`MMERR_GUS_TIMER'
This error occurs when the ultra driver could not setup the
playback timer.
HP-UX Driver Specific Errors
............................
`MMERR_HP_AUDIO_DESC'
This error occurs when the HP driver can not get the audio
hardware description.
`MMERR_HP_AUDIO_OUTPUT'
This error occurs when the HP driver can not select the audio
output.
`MMERR_HP_BUFFERSIZE'
This error occurs when the HP driver can not set the transmission
buffer size.
`MMERR_HP_CHANNELS'
This error occurs when the HP driver can not set the requested
number of channels.
`MMERR_HP_SETSAMPLESIZE'
This error occurs when the HP driver can not set the requested
sample size.
`MMERR_HP_SETSPEED'
This error occurs when the HP driver can not set the requested
sample rate.
Open Sound System Driver Specific Errors
........................................
`MMERR_OSS_SETFRAGMENT'
This error occurs when the OSS driver can not set audio fragment
size.
`MMERR_OSS_SETSAMPLESIZE'
This error occurs when the OSS driver can not set the requested
sample size.
`MMERR_OSS_SETSPEED'
This error occurs when the OSS driver can not set the requested
sample rate.
`MMERR_OSS_SETSTEREO'
This error occurs when the OSS driver can not set the requested
number of channels.
SGI Driver Specific Errors
..........................
`MMERR_SGI_MONO'
This error occurs when the hardware only supports stereo sound.
`MMERR_SGI_SPEED'
This error occurs when the hardware does not support the requested
sample rate.
`MMERR_SGI_STEREO'
This error occurs when the hardware only supports mono sound.
`MMERR_SGI_16BIT'
This error occurs when the hardware only supports 16 bit sound.
`MMERR_SGI_8BIT'
This error occurs when the hardware only supports 8 bit sound.
Sun Driver Specific Error
.........................
`MMERR_SUN_INIT'
This error occurs when the sound device initialization failed.
OS/2 Driver Specific Errors
...........................
`MMERR_OS2_MIXSETUP'
This error occurs when the DART driver can not set the mixing
parameters.
`MMERR_OS2_SEMAPHORE'
This error occurs when the MMPM/2 driver can not create the
semaphores needed for playback.
`MMERR_OS2_THREAD'
This error occurs when the MMPM/2 driver can not create the thread
needed for playback.
`MMERR_OS2_TIMER'
This error occurs when the MMPM/2 driver can not create the timer
needed for playback.
DirectX Driver Specific Errors
..............................
`MMERR_DS_BUFFER'
This error occurs when the DirectX driver can not allocate the
playback buffers.
`MMERR_DS_EVENT'
This error occurs when the DirectX driver can not register the
playback event.
`MMERR_DS_FORMAT'
This error occurs when the DirectX driver can not set the playback
format.
`MMERR_DS_NOTIFY'
This error occurs when the DirectX driver can not register the
playback callback.
`MMERR_DS_PRIORITY'
This error occurs when the DirectX driver can not set the playback
priority.
`MMERR_DS_THREAD'
This error occurs when the DirectX driver can not create the
playback thread.
`MMERR_DS_UPDATE'
This error occurs when the DirectX driver can not initialize the
playback thread.
Windows Multimedia API Driver Specific Errors
.............................................
`MMERR_WINMM_ALLOCATED'
This error occurs when the playback resource is already allocated
by another application.
`MMERR_WINMM_DEVICEID'
This error occurs when the Multimedia API Driver is given an
invalid audio device identificator.
`MMERR_WINMM_FORMAT'
This error occurs when the playback output format is not supported
by the audio device.
`MMERR_WINMM_HANDLE'
This error occurs when the Multimedia API Driver is given an
invalid handle.
`MMERR_WINMM_UNKNOWN'
This error should not occur ! If you get this error, please
contact the libmikmod development mailing list.
MacOS Driver Specific Errors
............................
`MMERR_MAC_SPEED'
This error occurs when the playback speed is not supported by the
audio device.
`MMERR_MAC_START'
This error occurs when the MacOS driver can not start playback.
---------- Footnotes ----------
(1) You can force libmikmod to load the module (without the
synthsounds, of course) by setting the `curious' parameter to `1' when
invoking `Player_Loadxx'.