- 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