Overview of ALmixer
masterALmixer (also known as SDL-OpenAL-Mixer) is a cross-platform audio library built on top of OpenAL. It provides a simplified API inspired by SDL_mixer for playing and managing sounds without requiring direct management of OpenAL sources, buffers, or buffer queuing.
Key features include:
- Unified Playback API: Unlike
SDL_mixer, ALmixer does not distinguish between 'music' and 'sounds' at the API level. Instead, you specify via the load API whether a resource should be loaded as a stream or preloaded. This allows for multiple simultaneous streaming sources (e.g., music and speech). - OpenAL Integration: Every 'Channel' maps to an OpenAL source ID. You can retrieve these IDs to apply OpenAL 3D effects like position and Doppler directly.
- Flexible Callbacks: Callbacks support a
void* userdata(context) pointer, allowing you to pass custom data through callback functions. - Format Support: Utilizes
SDL_soundto decode formats such as WAV, MP3, AAC, MP4, and OGG.