The Nsound code base is old, (10 years! I can hardly believe that). Obviously I’m a much better developer today (:P), and there’s lots of things that need cleaning. Maintenance is becoming a burden, the build process is complex, it’s difficult to debug.
So I am about to start to rewrite all of nsound, here are some of the directions I want to go:
- C++14
- float32 only (float64 is overkill, perhaps Buffer<T>?)
- header only (avoid the need for .so or .dll)
- serialize with JSON
- switch to Boost.Python (dump swig)
- create generic filter kernel objects
- separate kernel design from filter objects
- generic functions on std::vector or std::array
- provide scipy-like signals module suite
- combine AudioStream and Buffer into one object, no need to maintain both
- Boost unit tests from the beginning
- rewrite all the SCons files to keep it simple stupid!
- move scons utilities & tests into proper tools (and share with the rest of the world!)
You can help out too! Working on open source is a great way to strengthen your skills!