raug 0.0.4

raug - Rusty Audio Graphs
Documentation
- Welcome to Raug!
	- Some of you may or may not know that I'm an experienced electronic musician
	- I've always had an eye out for ways to combine music and programming, but wasn't satisfied with any current options
		- PureData and Max/MSP are visual (not my preference)
		- SuperCollider and Sonic Pi have weird syntax (imo)
		- JUCE uses C++ (ew)
	- I wanted something I could use with a regular programming language (ideally Rust or Python), and that made sense to my brain
	- So, I set out to create my own way!
- What is Raug?
	- (R)usty (Au)dio (G)raphs
	- Allows for construction of signal flow graphs, and the ability to pass signals through them
		- In layman's terms, I can make my own instruments and effects!
	- Inspired by many of the aforementioned existing music programming things, especially Max
- Aside: A successor to PAPR
	- I understand Rust and optimized programming much better now since working on my game engine
	- New version is much more lightweight and easier to use
- Design goals
	- Fast; focus on types that are cheap to copy, and use references as much as we can
	- Minimize allocations on the real-time audio thread
	- Precompute as much as possible
- 2 API levels:
	- Low-level `processor` API where raw access to audio data are available for arbitrary processing in Rust
	- High-level `builder` API for constructing signal processor graphs intuitively
		- Bindings to Python!
- Example Tour
	- `demo.rs` (intro to `builder` api)
	- `bang.rs` (messages)
	- `param.rs` (external control of signals)
	- `processor.rs` (`processor` api)
- Bonus: Python bindings!
	- Allows for rapid development without needing to recompile
	- Integrate with Python's ecosystem for endless possibilities!
		- (go over Pygame Theremin example)
- Future
	- More built-in processors
	- GUI controls
	- Live coding?