[openal] Announcing MojoAL

Ryan C. Gordon icculus at icculus.org
Sat Mar 24 01:15:34 EDT 2018


I've started working on a new OpenAL implementation, so I thought I'd 
mention it here.

To be clear right from the start: this is _not_ meant to replace OpenAL 
Soft. Don't replace your distro packages and such.

These were my basic goals:
- The entire thing is one C file that can be dropped into a project that 
needs core OpenAL 1.1.
- Portability issues (including talking to audio hardware) are handled 
by SDL and not directly by the implementation. SDL also handles the 
audio conversion and resampling work too.
- The implementation is zlib licensed, so it can be used on systems that 
are hostile to the LGPL, like game consoles.
- I was aiming for the implementation to be 100% lock-free, so there's 
no chance that you might call alSourcef() at the wrong moment and have 
it hang for a long time while the mixer thread runs (or alternately: you 
call alSourcef at the wrong moment and the mixer thread doesn't complete 
in time). This might be foolish, I haven't decided yet.

Right now capture devices work, and the AL is at the point where it can 
handle playing a buffer queue if you don't want distance attenuation, 
which feels like a victory at this early stage...so like I said, this 
isn't going to be replacing OpenAL Soft. Features like Ambisonics, 
HRTFs, most known extensions, or even better-than-stereo output aren't 
on the table at the moment.

The expectation is that this will be useful in the near future for 
embedded and game console developers that need a small, drop-in, 
license-friendly implementation and don't need any advanced features or 
extensions.

I'm currently calling it "MojoAL" and the source code is here:

https://hg.icculus.org/icculus/mojoAL

--ryan.



More information about the openal mailing list