Modules

Take only what you need

Each yup_* module is a self-contained unity build with its own declaration. List the ones you use and the CMake API resolves the rest.

Core

yup_core

Strings, containers, files and streams, memory, math, time, threading, networking and data interchange. No YUP dependencies.

zlib

yup_simd

Vectorized math across SSE, AVX, FMA, NEON and Accelerate, wrapping xsimd behind a YUP-friendly API.

yup_corexsimd

Events

yup_events

The message thread, timers, async callbacks and inter-object notifications behind every interactive app.

yup_core

AI

yup_ai

Chat-completion clients for OpenAI, Anthropic and Gemini, function-calling tools, embeddings and an MCP client and server.

yup_coreyup_events

Graphics

yup_rhi

Low-level GPU abstraction: devices, compute and render pipelines, buffers, textures and offscreen targets. Use it for GPU compute without the 2D stack.

yup_coreyup_shadingyup_simdrive

yup_shading

Shader-source containers, transpilation and the .ysl shader-bundle format consumed by the RHI for offline compilation.

yup_core

yup_graphics

2D drawing and windowed rendering on the RHI and Rive: paths, fonts, SVG, imaging and offscreen GPU canvases.

yup_coreyup_simdyup_rhiyup_shadingrivelibclipper2

yup_animation

A Lottie-compatible animation model with playback, rendering and export.

yup_coreyup_graphics

Data

yup_data_model

The DataTree model: hierarchical, observable, transactional and schema-validatable data with an XPath-like query engine.

yup_events

UI

yup_gui

Components, windowing, events, layout and widgets that paint through the graphics stack and bind to the data model.

yup_eventsyup_data_modelyup_graphicsrive

yup_audio_gui

Waveforms, meters, spectrum analyzers and audio-graph editor views bridging the UI and audio stacks.

yup_audio_basicsyup_audio_devicesyup_audio_formatsyup_audio_processorsyup_audio_graphyup_dspyup_gui

Audio

yup_audio_basics

Audio buffers, MIDI messages, synthesis helpers and processing utilities.

yup_coreyup_simd

yup_audio_devices

Realtime audio and MIDI I/O: enumerate, open and stream from platform devices.

yup_audio_basicsyup_events

yup_audio_formats

Read and write Wav, Mp3, OGG, Flac, Opus and more, enabling each codec by linking its library.

yup_audio_basicsyup_simd

yup_dsp

Filters and filter designers, crossovers and spectral analysis, with optional fast FFTs and time-stretching.

yup_coreyup_audio_basicsyup_simd

yup_dsp_jit

YDSP: a realtime JIT-compiled DSP language compiling patches to native x86-64 and AArch64 code that runs allocation-free in the audio callback.

yup_coreyup_dspyup_audio_basics

yup_audio_processors

The AudioProcessor model that plugins and the audio graph are built from, plus parameter handling.

yup_audio_basicsyup_data_modelyup_dsp

yup_audio_graph

A node-based graph of AudioProcessors for routing audio and MIDI, backed by the data model.

yup_audio_processorsyup_data_model

yup_audio_plugin_client

Wrap your own AudioProcessor as a CLAP, VST3 or AU plugin, or as a standalone app.

yup_audio_processorsyup_gui

yup_audio_plugin_host

In-process hosting of third-party VST3, CLAP, LV2 and AU plugins.

yup_audio_processors

Scripting

yup_python

Python bindings for creating and driving YUP applications, generated for every supported module present in the build.

yup_core

Chips list each module's required dependencies. See the module documentation for the full dependency graph and optional integrations.