README: justify library's existence

This commit is contained in:
Andrew Kelley 2015-07-05 23:42:56 -07:00
parent 93f288e8b1
commit dc05a82c28

View file

@ -8,7 +8,25 @@ This library is an abstraction; however it prioritizes performance and power
over API convenience. Features that only exist in some sound backends are over API convenience. Features that only exist in some sound backends are
exposed. exposed.
This library is a work-in-progress. **This library is a work-in-progress.**
## Why libsoundio?
* [PortAudio](http://www.portaudio.com/)
- It does not support [PulseAudio](http://www.freedesktop.org/wiki/Software/PulseAudio/).
- It logs messages to stdio and you can't turn that off.
- It is not written by me.
* [rtaudio](https://www.music.mcgill.ca/~gary/rtaudio/)
- It is not a C library.
- It uses [exceptions](http://stackoverflow.com/questions/1736146/why-is-exception-handling-bad).
- It is not written by me.
* [SDL](https://www.libsdl.org/)
- It comes with a bunch of other baggage - display, windowing, input
handling, and lots more.
- It is not designed with real-time low latency audio in mind.
- Listing audio devices is [broken](https://github.com/andrewrk/node-groove/issues/13).
- It does not support recording devices.
- It is not written by me.
## How It Works ## How It Works