cppsketch
cppsketch is a simple system for hot-reloading C++ classes in order to sketch ideas and algorithms - more here: https://github.com/elf-audio/cppsketch. Also check the video below.
Also there's a version for openFrameworks, which is an awesome graphics and interaction toolkit for C++ - check the addon here: https://github.com/elf-audio/ofxCppSketch
cppsketch to web audio api via emscripten
Here's a repo showing how to compile your cppsketches into javascript to run in a browser: https://github.com/elf-audio/cpp-to-webaudio-example and here's a demo
resources
Resources about interaction design
- First Principles of Interaction Design (Revised & Expanded) - by Bruce Tognazzini
- Dieter Rams' 10 commandments of good design
- Good book: The design of everyday things
- Good resource for seeing how differently people make music: FACT: Against the clock
General audio programming resources
- musicdsp.org
- KVR DSP Dev forum
- Musicdsp mailing list
- RBJ filter cookbook
- Juce/ADC youtube channel
- Moodycamel ReaderWriterQueue
- Maximillian
- earlevel
- Mutable instruments source code
- The Art of VA Filter Design
- RackAFX Forum
Some lock-free programming resources
- Real-time audio programming 101 - time waits for nothing
- Realtime 101, part 1 and part 2 - an excellent summary of the main techniques used
- Excellent blog with lots of pointers about lock-free programming http://www.rossbencina.com/tag/real-time
- Excellent paper on combining disk streaming and lock free audio http://www.rossbencina.com/static/writings/File_IO_ACMC2014_Bencina.pdf
- If you must use a lock, maybe do it this way: https://timur.audio/using-locks-in-real-time-audio-processing-safely
Some functional programming resources
Desmos Graphing Calculator - possibly the best ever graphing calculator - free and online - you can use a lot of programming functions like min(), abs() etc.