122 #ifndef _SDL_ALMIXER_H_ 123 #define _SDL_ALMIXER_H_ 126 #ifndef DOXYGEN_SHOULD_IGNORE_THIS 135 #if defined(ALMIXER_BUILD_LIBRARY) 136 #define ALMIXER_DECLSPEC __declspec(dllexport) 138 #define ALMIXER_DECLSPEC 141 #if defined(ALMIXER_BUILD_LIBRARY) 142 #if defined (__GNUC__) && __GNUC__ >= 4 143 #define ALMIXER_DECLSPEC __attribute__((visibility("default"))) 145 #define ALMIXER_DECLSPEC 148 #define ALMIXER_DECLSPEC 153 #define ALMIXER_CALL __cdecl 189 #define ALMIXER_MAJOR_VERSION 0 190 #define ALMIXER_MINOR_VERSION 5 191 #define ALMIXER_PATCHLEVEL 0 216 #define ALMIXER_GET_COMPILED_VERSION(X) \ 218 (X)->major = ALMIXER_MAJOR_VERSION; \ 219 (X)->minor = ALMIXER_MINOR_VERSION; \ 220 (X)->patch = ALMIXER_PATCHLEVEL; \ 263 extern ALMIXER_DECLSPEC
void ALMIXER_CALL
ALmixer_SetError(
const char *fmt, ...);
266 extern ALMIXER_DECLSPEC
void ALMIXER_CALL
ALmixer_Delay(ALuint milliseconds_delay);
276 #define ALMIXER_DEFAULT_FREQUENCY 0 277 #define ALMIXER_DEFAULT_REFRESH 0 279 #define ALMIXER_DEFAULT_NUM_CHANNELS 32 280 #define ALMIXER_DEFAULT_NUM_SOURCES ALMIXER_DEFAULT_NUM_CHANNELS 309 extern ALMIXER_DECLSPEC ALboolean ALMIXER_CALL
ALmixer_Init(ALuint playback_frequency, ALuint num_sources, ALuint refresh_rate);
321 extern ALMIXER_DECLSPEC ALboolean ALMIXER_CALL
ALmixer_InitContext(ALuint playback_frequency, ALuint refresh_rate);
336 extern ALMIXER_DECLSPEC ALboolean ALMIXER_CALL
ALmixer_InitMixer(ALuint num_sources);
428 extern ALMIXER_DECLSPEC
void ALMIXER_CALL
ALmixer_Quit(
void);
527 #define ALMIXER_DEFAULT_BUFFERSIZE 16384 530 #ifndef ALMIXER_DISABLE_PREDECODED_PRECOMPUTE_BUFFER_SIZE_OPTIMIZATION 531 #define ALMIXER_DEFAULT_PREDECODED_BUFFERSIZE ALMIXER_DEFAULT_BUFFERSIZE * 4 538 #define ALMIXER_DEFAULT_PREDECODED_BUFFERSIZE 4096 548 #define ALMIXER_DEFAULT_QUEUE_BUFFERS 12 552 #define ALMIXER_DEFAULT_STARTUP_BUFFERS 4 556 #define ALMIXER_DEFAULT_BUFFERS_TO_QUEUE_PER_UPDATE_PASS 2 618 extern ALMIXER_DECLSPEC
ALmixer_Data* ALMIXER_CALL
ALmixer_LoadSample_RW(
struct ALmixer_RWops* rw_ops,
const char* file_ext, ALuint buffer_size, ALboolean decode_mode_is_predecoded, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data);
639 extern ALMIXER_DECLSPEC
ALmixer_Data* ALMIXER_CALL
ALmixer_LoadStream_RW(
struct ALmixer_RWops* rw_ops,
const char* file_ext, ALuint buffer_size, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data);
675 extern ALMIXER_DECLSPEC
ALmixer_Data * ALMIXER_CALL
ALmixer_LoadSample(
const char* file_name, ALuint buffer_size, ALboolean decode_mode_is_predecoded, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data);
697 extern ALMIXER_DECLSPEC
ALmixer_Data* ALMIXER_CALL
ALmixer_LoadStream(
const char* file_name, ALuint buffer_size, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data);
735 extern ALMIXER_DECLSPEC
ALmixer_Data * ALMIXER_CALL
ALmixer_LoadSample_RAW_RW(
struct ALmixer_RWops* rw_ops,
const char* file_ext,
ALmixer_AudioInfo* desired_format, ALuint buffer_size, ALboolean decode_mode_is_predecoded, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data);
799 extern ALMIXER_DECLSPEC
ALmixer_Data* ALMIXER_CALL
ALmixer_LoadSample_RAW(
const char* file_name,
ALmixer_AudioInfo* desired_format, ALuint buffer_size, ALboolean decode_mode_is_predecoded, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data);
821 extern ALMIXER_DECLSPEC
ALmixer_Data* ALMIXER_CALL
ALmixer_LoadStream_RAW(
const char* file_name,
ALmixer_AudioInfo* desired_format, ALuint buffer_size, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data);
991 extern ALMIXER_DECLSPEC
void ALMIXER_CALL
ALmixer_SetPlaybackDataCallback(
void (*playback_data_callback)(ALint which_channel, ALuint al_source, ALbyte* pcm_data, ALuint num_bytes, ALuint frequency, ALubyte num_channels_in_sample, ALubyte bit_depth, ALboolean is_unsigned, ALboolean decode_mode_is_predecoded, ALuint length_in_msec,
void* user_data),
void* user_data);
1023 extern ALMIXER_DECLSPEC ALuint ALMIXER_CALL
ALmixer_GetSource(ALint which_channel);
1162 extern ALMIXER_DECLSPEC ALint ALMIXER_CALL
ALmixer_SeekChannel(ALint which_channel, ALuint msec_pos);
1172 extern ALMIXER_DECLSPEC ALint ALMIXER_CALL
ALmixer_SeekSource(ALuint al_source, ALuint msec_pos);
1215 extern ALMIXER_DECLSPEC ALint ALMIXER_CALL
ALmixer_ExpireChannel(ALint which_channel, ALint number_of_milliseconds);
1225 extern ALMIXER_DECLSPEC ALint ALMIXER_CALL
ALmixer_ExpireSource(ALuint al_source, ALint number_of_milliseconds);
1275 extern ALMIXER_DECLSPEC ALint ALMIXER_CALL
ALmixer_FadeOutChannel(ALint which_channel, ALuint fade_ticks);
1287 extern ALMIXER_DECLSPEC ALint ALMIXER_CALL
ALmixer_FadeOutSource(ALuint al_source, ALuint fade_ticks);
1299 extern ALMIXER_DECLSPEC ALint ALMIXER_CALL
ALmixer_FadeChannel(ALint which_channel, ALuint fade_ticks, ALfloat volume);
1311 extern ALMIXER_DECLSPEC ALint ALMIXER_CALL
ALmixer_FadeSource(ALuint al_source, ALuint fade_ticks, ALfloat volume);
1582 extern ALMIXER_DECLSPEC
void ALMIXER_CALL ALmixer_OutputAttributes(
void);
1596 extern ALMIXER_DECLSPEC
size_t ALMIXER_CALL ALmixer_GetCurrentThreadID(
void);
1598 #define ALMIXER_THREAD_TYPE_ORIGINATING 1 1599 #define ALMIXER_THREAD_TYPE_UPDATE 2 1608 extern ALMIXER_DECLSPEC
size_t ALMIXER_CALL ALmixer_GetThreadIDForType(
int almixer_thread_type);
ALint ALmixer_FadeInChannel(ALint which_channel, ALmixer_Data *almixer_data, ALint number_of_loops, ALuint fade_ticks)
The same as ALmixer_FadeInChannelTimed, but the sound is played without time limits.
ALint ALmixer_IsPlayingSource(ALuint al_source)
Returns true if the specified sources is currently playing.
ALint ALmixer_Update(void)
The update function that allows ALmixer to update its internal state.
const char * ALmixer_GetError(void)
Gets the last error string that was set by the system and clears the error.
ALint ALmixer_ExpireChannel(ALint which_channel, ALint number_of_milliseconds)
Will cause a currently playing channel to stop playing in the specified number of milliseconds...
void ALmixer_SuspendUpdates(void)
(EXPERIMENTAL) Destroys the background update thread (ENABLE_ALMIXER_THREADS only).
ALuint rate
Sample rate; frequency of sample points per second.
Definition: ALmixer.h:591
ALint ALmixer_ExpireSource(ALuint al_source, ALint number_of_milliseconds)
Will cause a currently playing source to stop playing in the specified number of milliseconds.
ALuint ALmixer_CountTotalChannels(void)
Returns the number of allocated channels.
ALuint ALmixer_CountUnreservedFreeChannels(void)
Returns the number of channels that are currently available for playback (not playing, not paused), excluding the channels that have been reserved.
ALmixer_Data * ALmixer_LoadAll_RW(struct ALmixer_RWops *rw_ops, const char *file_ext, ALuint access_data)
This is the loader function to completely preload an audio resource from an RWops into RAM...
ALubyte major
Definition: ALmixer.h:181
void ALmixer_OutputOpenALInfo(void)
This function may be removed in the future.
ALint ALmixer_IsPausedSource(ALuint al_source)
Returns true if the specified sources is currently paused.
ALint ALmixer_PlayChannel(ALint which_channel, ALmixer_Data *almixer_data, ALint number_of_loops)
The same as ALmixer_PlayChannelTimed, but the sound is played without time limits.
ALboolean ALmixer_InitContext(ALuint playback_frequency, ALuint refresh_rate)
InitContext will only initialize the OpenAL context (and not the mixer part).
void ALmixer_SuspendPlayingState(void)
(EXPERIMENTAL) Pauses all currently playing channels with the intent that you will want to resume the...
ALuint ALmixer_CountAllFreeChannels(void)
Returns the number of channels that are currently available for playback (not playing, not paused).
ALuint ALmixer_PlaySource(ALuint al_source, ALmixer_Data *almixer_data, ALint number_of_loops)
The same as ALmixer_PlaySourceTimed, but the sound is played without time limits. ...
ALint ALmixer_FadeOutChannel(ALint which_channel, ALuint fade_ticks)
Fade out a current playing channel.
ALubyte patch
Definition: ALmixer.h:183
ALboolean ALmixer_SeekData(ALmixer_Data *almixer_data, ALuint msec_pos)
Seek the sound for a given data.
struct ALmixer_Data ALmixer_Data
Definition: ALmixer.h:570
ALint ALmixer_ResumeSource(ALuint al_source)
Resumes playback on a source that is paused.
ALint ALmixer_FadeSource(ALuint al_source, ALuint fade_ticks, ALfloat volume)
Gradually changes the volume from the current AL_GAIN to the specified volume.
void ALmixer_QuitWithoutFreeData(void)
HACK to shutdown ALmixer without freeing ALmixer_Data.
ALmixer_Data * ALmixer_LoadStream_RW(struct ALmixer_RWops *rw_ops, const char *file_ext, ALuint buffer_size, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data)
This is the loader function to load an audio resource from an RWops as a stream.
ALmixer_Data * ALmixer_LoadStream_RAW(const char *file_name, ALmixer_AudioInfo *desired_format, ALuint buffer_size, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data)
This is a back door stream loader function for RAW samples or if you need to specify the ALmixer_Audi...
void ALmixer_FreeData(ALmixer_Data *almixer_data)
Frees an ALmixer_Data.
ALint ALmixer_FindFreeChannel(ALint start_channel)
Will look for a channel available for playback.
ALint ALmixer_PauseSource(ALuint al_source)
Pauses playback on a source.
ALboolean ALmixer_SetMaxVolumeSource(ALuint al_source, ALfloat volume)
Sets the maximum volume via the AL_MAX_GAIN source property.
ALuint ALmixer_GetFrequency(void)
Returns the frequency that OpenAL is set to.
ALboolean ALmixer_IsInitialized(void)
Returns whether ALmixer has been initializatized (via Init) or not.
ALboolean ALmixer_SetMinVolumeChannel(ALint which_channel, ALfloat volume)
Sets the minimum volume via the AL_MIN_GAIN source property.
ALboolean ALmixer_CompiledWithThreadBackend(void)
This function is experimental.
ALfloat ALmixer_GetMinVolumeSource(ALuint al_source)
Gets the min volume via the AL_MIN_GAIN source property.
void ALmixer_Delay(ALuint milliseconds_delay)
ALboolean ALmixer_InitMixer(ALuint num_sources)
InitMixer will only initialize the Mixer system.
ALmixer_Data * ALmixer_LoadStream_RAW_RW(struct ALmixer_RWops *rw_ops, const char *file_ext, ALmixer_AudioInfo *desired_format, ALuint buffer_size, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data)
This is a back door stream loader function for RAW samples or if you need to specify the ALmixer_Audi...
ALint ALmixer_SeekChannel(ALint which_channel, ALuint msec_pos)
Seeks the sound to the beginning that is playing on a specific channel.
const ALmixer_version * ALmixer_GetLinkedVersion(void)
Gets the library version of the dynamically linked ALmixer you are using.
ALmixer_Data * ALmixer_LoadSample_RAW_RW(struct ALmixer_RWops *rw_ops, const char *file_ext, ALmixer_AudioInfo *desired_format, ALuint buffer_size, ALboolean decode_mode_is_predecoded, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data)
This is a back door general loader function for RAW samples or if you need to specify the ALmixer_Aud...
ALboolean ALmixer_IsPredecoded(ALmixer_Data *almixer_data)
Returns true if the almixer_data was completely loaded into memory or false if it was loaded as a str...
ALint ALmixer_FadeInChannelTimed(ALint which_channel, ALmixer_Data *almixer_data, ALint number_of_loops, ALuint fade_ticks, ALint expire_ticks)
Similar to ALmixer_PlayChannelTimed except that sound volume fades in from the minimum volume to the ...
void ALmixer_ResumeUpdates(void)
(EXPERIMENTAL) Recreates the background update thread (ENABLE_ALMIXER_THREADS only).
void ALmixer_SetPlaybackFinishedCallback(void(*playback_finished_callback)(ALint which_channel, ALuint al_source, ALmixer_Data *almixer_data, ALboolean finished_naturally, void *user_data), void *user_data)
Allows you to set a callback for when a sound has finished playing on a channel/source.
void ALmixer_BeginInterruption(void)
(EXPERIMENTAL) Call to notify ALmixer that your device needs to handle an interruption.
ALboolean ALmixer_RewindData(ALmixer_Data *almixer_data)
Rewinds the sound to the beginning for a given data.
void ALmixer_EndInterruption(void)
(EXPERIMENTAL) Call to notify ALmixer that your device needs to resume from an interruption.
ALfloat ALmixer_GetMinVolumeChannel(ALint which_channel)
Gets the min volume via the AL_MIN_GAIN source property.
ALint ALmixer_AllocateChannels(ALint num_chans)
Let's you change the maximum number of channels/sources available.
void ALmixer_Quit(void)
This shuts down ALmixer.
ALubyte channels
Number of sound channels.
Definition: ALmixer.h:590
ALboolean ALmixer_SetMinVolumeSource(ALuint al_source, ALfloat volume)
Sets the minimum volume via the AL_MIN_GAIN source property.
ALint ALmixer_PauseChannel(ALint which_channel)
Pauses playback on a channel.
ALint ALmixer_ResumeChannel(ALint which_channel)
Resumes playback on a channel that is paused.
ALint ALmixer_IsActiveSource(ALuint al_source)
Returns true if the specified source is currently playing or paused, or if -1 is passed the number of...
ALuint ALmixer_FadeInSourceTimed(ALuint al_source, ALmixer_Data *almixer_data, ALint number_of_loops, ALuint fade_ticks, ALint expire_ticks)
Similar to ALmixer_PlaySourceTimed except that sound volume fades in from the minimum volume to the m...
ALfloat ALmixer_GetMaxVolumeChannel(ALint which_channel)
Gets the max volume via the AL_MAX_GAIN source property.
Struct that contains the version information of this library.
Definition: ALmixer.h:179
ALushort format
Equivalent of SDL_AudioSpec.format.
Definition: ALmixer.h:589
ALint ALmixer_RewindChannel(ALint which_channel)
Rewinds the sound to the beginning that is playing on a specific channel.
ALuint ALmixer_CountUnreservedUsedChannels(void)
Returns the number of channels that are currently in use (playing/paused), excluding the channels tha...
ALmixer_Data * ALmixer_LoadSample_RW(struct ALmixer_RWops *rw_ops, const char *file_ext, ALuint buffer_size, ALboolean decode_mode_is_predecoded, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data)
This is a general loader function to load an audio resource from an RWops.
ALubyte minor
Definition: ALmixer.h:182
ALboolean ALmixer_SetMaxVolumeChannel(ALint which_channel, ALfloat volume)
Sets the maximum volume via the AL_MAX_GAIN source property.
void ALmixer_OutputDecoders(void)
This function may be removed in the future.
ALuint ALmixer_PlaySourceTimed(ALuint al_source, ALmixer_Data *almixer_data, ALint number_of_loops, ALint number_of_milliseconds)
Play a sound on an OpenAL source with a time limit.
ALboolean ALmixer_SetVolumeChannel(ALint which_channel, ALfloat volume)
Sets the volume via the AL_GAIN source property.
ALboolean ALmixer_Init(ALuint playback_frequency, ALuint num_sources, ALuint refresh_rate)
This is the recommended Init function.
ALboolean ALmixer_AreUpdatesSuspended(void)
(EXPERIMENTAL) Call to determine if in ALmixer_SuspendUpdates().
ALuint ALmixer_CountReservedChannels(void)
Returns the number of reserved channels.
ALboolean ALmixer_SetVolumeSource(ALuint al_source, ALfloat volume)
Sets the volume via the AL_GAIN source property.
ALint ALmixer_PlayChannelTimed(ALint which_channel, ALmixer_Data *almixer_data, ALint number_of_loops, ALint number_of_milliseconds)
Play a sound on a channel with a time limit.
ALuint ALmixer_GetSource(ALint which_channel)
This function will look up the OpenAL source id for the corresponding channel number.
void ALmixer_ResumePlayingState(void)
(EXPERIMENTAL) Resumes all paused channels triggered by ALmixer_SuspendPlayingState.
Roughly the equvialent to the Sound_AudioInfo struct in SDL_sound.
Definition: ALmixer.h:587
ALint ALmixer_ReserveChannels(ALint number_of_reserve_channels)
Allows you to reserve a certain number of channels so they won't be automatically allocated to play o...
ALint ALmixer_FadeChannel(ALint which_channel, ALuint fade_ticks, ALfloat volume)
Gradually changes the volume from the current AL_GAIN to the specified volume.
void(* playback_finished_callback)(ALint which_channel, ALuint al_source, ALmixer_Data *almixer_data, ALboolean finished_naturally, void *ALmixer_SetPlaybackFinishedCallbackContainer)
Definition: ALmixer.h:901
ALboolean ALmixer_IsInInterruption(void)
(EXPERIMENTAL) Call to determine if in an interruption.
void ALmixer_SetPlaybackDataCallback(void(*playback_data_callback)(ALint which_channel, ALuint al_source, ALbyte *pcm_data, ALuint num_bytes, ALuint frequency, ALubyte num_channels_in_sample, ALubyte bit_depth, ALboolean is_unsigned, ALboolean decode_mode_is_predecoded, ALuint length_in_msec, void *user_data), void *user_data)
Allows you to set a callback for getting audio data.
ALuint ALmixer_FadeInSource(ALuint al_source, ALmixer_Data *almixer_data, ALint number_of_loops, ALuint fade_ticks)
The same as ALmixer_FadeInSourceTimed, but the sound is played without time limits.
ALfloat ALmixer_GetMaxVolumeSource(ALuint al_source)
Gets the maximum volume via the AL_MAX_GAIN source property.
void ALmixer_SetError(const char *fmt,...)
Sets an error string that can be retrieved by ALmixer_GetError.
ALint ALmixer_SeekSource(ALuint al_source, ALuint msec_pos)
Seeks the sound to the beginning that is playing on a specific source.
ALint ALmixer_IsPausedChannel(ALint which_channel)
Returns true if the specified channel is currently paused.
ALfloat ALmixer_GetVolumeChannel(ALint which_channel)
Gets the volume via the AL_GAIN source property.
ALint ALmixer_GetChannel(ALuint al_source)
This function will look up the channel for the corresponding source.
ALuint ALmixer_CountAllUsedChannels(void)
Returns the number of channels that are currently in use (playing/paused).
ALfloat ALmixer_GetMasterVolume(void)
Gets the OpenAL listener AL_GAIN which can be thought of as the "master volume".
ALboolean ALmixer_IsPlayingStateSuspended(void)
(EXPERIMENTAL) Call to determine if in ALmixer_SuspendPlayingState().
ALint ALmixer_GetTotalTime(ALmixer_Data *almixer_data)
Returns the total time in milliseconds of the audio resource.
ALint ALmixer_RewindSource(ALuint al_source)
Rewinds the sound to the beginning that is playing on a specific source.
ALmixer_Data * ALmixer_LoadAll_RAW(const char *file_name, ALmixer_AudioInfo *desired_format, ALuint access_data)
This is a back door loader function for complete preloading RAW samples into RAM or if you need to sp...
ALmixer_Data * ALmixer_LoadAll_RAW_RW(struct ALmixer_RWops *rw_ops, const char *file_ext, ALmixer_AudioInfo *desired_format, ALuint access_data)
This is a back door loader function for complete preloading RAW samples into RAM or if you need to sp...
ALboolean ALmixer_SetMasterVolume(ALfloat new_volume)
Sets the OpenAL listener AL_GAIN which can be thought of as the "master volume".
ALmixer_Data * ALmixer_LoadStream(const char *file_name, ALuint buffer_size, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data)
This is the loader function to load an audio resource from a file.
ALint ALmixer_IsActiveChannel(ALint which_channel)
Returns true if the specified channel is currently playing or paused, or if -1 is passed the number o...
ALint ALmixer_HaltChannel(ALint which_channel)
Stops playback on a channel.
ALfloat ALmixer_GetVolumeSource(ALuint al_source)
Gets the volume via the AL_GAIN source property.
ALuint ALmixer_GetTicks(void)
This is the read/write operation structure – very basic.
Definition: ALmixer_RWops.h:118
ALmixer_Data * ALmixer_LoadSample_RAW(const char *file_name, ALmixer_AudioInfo *desired_format, ALuint buffer_size, ALboolean decode_mode_is_predecoded, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data)
This is a back door general loader function for RAW samples or if you need to specify the ALmixer_Aud...
ALmixer_Data * ALmixer_LoadAll(const char *file_name, ALuint access_data)
This is the loader function to completely preload an audio resource from a file into RAM...
ALmixer_Data * ALmixer_LoadSample(const char *file_name, ALuint buffer_size, ALboolean decode_mode_is_predecoded, ALuint max_queue_buffers, ALuint num_startup_buffers, ALuint suggested_number_of_buffers_to_queue_per_update_pass, ALuint access_data)
This is a general loader function to load an audio resource from a file.
ALint ALmixer_FadeOutSource(ALuint al_source, ALuint fade_ticks)
Fade out a current playing source.
ALint ALmixer_HaltSource(ALuint al_source)
Stops playback on a channel.
ALboolean ALmixer_IsDecoderAvailable(const char *usr_ext)
Returns whether a decoder is available to decode the requested extension.
ALint ALmixer_IsPlayingChannel(ALint which_channel)
Returns true if the specified channel is currently playing.