YUP Documentation#

YUP is a C++20 framework for building native applications, audio tools, and audio plugins from a single codebase across desktop, mobile, and the web. It combines permissively licensed JUCE7-derived foundations with modern GPU-native rendering through the open source Rive renderer and YUP’s own graphics, GUI, DSP, audio graph, and plugin layers.

Warning

YUP is under active early-stage development. APIs may change while the framework is being shaped. This documentation tracks the current state of the code in the repository.

Documentation areas#

The documentation is organized by functional area. Each area contains its own concept guides, walkthroughs, and reference material.

  • Getting Started - install YUP, build the examples, and create your first project.

  • All modules and their usage - the full module list, grouped by area, with dependencies.

  • Build System - the CMake API, module format, and packaging.

  • Core - core utilities, files, strings, memory, and SIMD.

  • Multithreading - threads, the message manager, and thread-safe patterns.

  • Data - the DataTree model and serialization.

  • Graphics - the graphics context, 2D drawing, the RHI GPU layer, shaders, fonts, SVG, and animation.

  • Imaging - bitmap images: pixels, loading, saving, and drawing.

  • UI - components, windowing, events, layout, and widgets.

  • DSP - filters, filter design, FFTs, dynamics, metering, onset detection, convolution, resampling, and time-stretching.

  • Audio - audio devices, formats, DSP, the audio graph, processors, and plugin hosting/client wrappers.

  • AI - the AI and LLM infrastructure.

  • Scripting - the Python bindings layer.

External resources#

  • YUP on GitHub - source code, issues, releases, discussion and roadmaps.

  • YUP on DeepWiki - high level information on the framework extracted by a llm.