- 1. Foreword
 - Getting started
 - 2. Hello World
 - 3. Compiling
 - 4. Running
 - Writing CPU processors
 - 5. Adding ports
 - 5.1. Simplifying ports
 - 5.2. Helpers for ports
 - 5.3. Port metadatas
 - 5.3.1. Range
 - 5.3.2. Widget
 - 5.3.3. Mapping
 - 5.3.4. Smoothing
 - 5.3.5. Helpers
 
- 5.4. Update callback
 
- 6. Audio
 - 6.1. Monophonic processors
 - 6.2. Setup
 - 6.3. Playback state
 - 6.4. FFT
 
- 7. Messages
 - 8. Callbacks
 - 9. Initialization
 - 10. MIDI
 - 10.1. Example
 
- 11. Image
 - 11.1. Example
 
- 12. Metadatas
 - Advanced features
 - 13. Port data types
 - 13.1. Example
 - 13.2. Files
 - 13.2.1. Sound files
 - 13.2.2. MIDI files
 - 13.2.3. Raw files
 
- 13.3. Code editor
 
- 14. Custom UI
 - 14.1. Declarative layouts
 - 14.2. Custom items
 - 14.3. Message bus
 - 14.3.1. Example
 
- 15. Feature injection
 - 15.1. Logging
 - 15.2. FFT
 
- 16. Presets
 - 17. Sample-accurate processing
 - 17.1. Example
 
- 18. Channel mimicking
 - 19. Threaded workers
 - 20. CMake configuration
 - Writing GPU processors
 - 21. Draw nodes
 - 21.1. Defining a layout
 - 21.2. API calls
 - 21.3. Minimal pipeline
 - 21.4. Complete example
 
- 22. Compute nodes
 - Development
 - 23. Type predicates
 - 24. Flags
 - 25. Implementing new concepts