Lucien Greathouse how in God's name do you use this? I want to transfer the microphone data to a server. I want to make my own team speak program! I want to figure out enet, then run the sound data to a server. How do I do that?
Also, most/all VOIP services use a voice compression codec (like Speex) to minimize the bandwidth used when transferring the microphone data over the internet. That kind of thing is outside the scope of a microphone API like this, but it's possible to implement support for one of those codecs yourself.
With code that relies on ffi recently being included in our code base. Can we maybe think about including love-microphone as our mic module until someone can code a proper one that isn't dependent on ffi?
LÖVE doesn't (and doesn't have any plans to, for now) have any function or method that relies on the presence of LuaJIT's FFI. The new ImageData and SoundData code is completely optional (won't cause problems if LuaJIT isn't used) – it just replaces the regular methods in cases where it's possible and there will be a performance gain to do so.
One of these days I'll get around to porting my audio API changes over to C++ and send them up for a pull request, but there need to be some other relatively major changes too (Lua-side streaming interface, more straightforward way to copy data around *Data objects) before it would be too terribly useful.