Somewhere in the middle of finals, I realized I had this nice FLTK/OpenGL application I’d written in C++:
It currently calculates and outputs audio commands to an Arduino that in turn talks to MIDI boards for each channel. But if I can use the main CPU’s internal audio capability, then I can have a deeper level of capability, and it works for enough of my current projects that it’s probably worth building some generic capability.
So that means I need a C++ library and API that can be built using the MSVC 2010 IDE. Possible options are:
- OpenAL (http://connect.creativelabs.com/openal/default.aspx)
- Downloaded and installed the OpenAl11CoreSDK from here. It installed to C:\Program Files (x86)\OpenAL 1.1 SDK
- Started to run through some of the executable demos, and found PlayMultiChannelWin64.exe. It works in my Plantronics headphones, but I need to bring in an extension cord tomorrow to hook up to the helmet.
- The Windows Core Audio APIs (http://msdn.microsoft.com/en-us/library/windows/desktop/dd370802(v=vs.85).aspx)
- XAudio2 – a low-level audio API that provides signal processing and mixing foundation for developing high performance audio engines for games. (http://msdn.microsoft.com/en-us/library/windows/desktop/hh405049(v=vs.85).aspx)
- Allegro – Allegro 4 and Allegro 5 are cross-platform, open source, game programming libraries, primarily for C and C++ developers (http://alleg.sourceforge.net/)
- Simple and Fast Multimedia Library (http://www.sfml-dev.org/) – May be built on OpenAl.
- PortAudio – a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in ‘C’ or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix. (http://www.portaudio.com/)
- Libao – (http://www.xiph.org/ao/)
- Jack – (http://jackaudio.org/)