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.
01CoreFoundations used across the whole framework, and observable application state.
-
yup_coresource
Strings, containers, files and streams, memory, math, time, threading, networking and data interchange. No YUP dependencies.
needs zlib
-
yup_eventssource
The message thread, timers, async callbacks and inter-object notifications behind every interactive app.
needs yup_core
-
yup_simdsource
Vectorized math across SSE, AVX, FMA, NEON and Accelerate, wrapping xsimd behind a YUP-friendly API.
needs yup_core, xsimd
-
yup_data_modelsource
The DataTree model: hierarchical, observable, transactional and schema-validatable data with an XPath-like query engine.
needs yup_events
02AudioDevices, formats, DSP, processing graphs and plugins.
-
yup_audio_basicssource
Audio buffers, MIDI messages, synthesis helpers and processing utilities.
needs yup_core, yup_simd
-
yup_audio_devicessource
Realtime audio and MIDI I/O: enumerate, open and stream from platform devices.
needs yup_audio_basics, yup_events
-
yup_audio_formatssource
Read and write Wav, Mp3, OGG, Flac, Opus and more, enabling each codec by linking its library.
needs yup_audio_basics, yup_simd
-
yup_dspsource
Filters and filter designers, crossovers and spectral analysis, with optional fast FFTs and time-stretching.
needs yup_core, yup_audio_basics, yup_simd
-
yup_dsp_jitsource
YDSP: a realtime JIT-compiled DSP language compiling patches to native x86-64 and AArch64 code that runs allocation-free in the audio callback.
needs yup_core, yup_dsp, yup_audio_basics
-
yup_audio_processorssource
The AudioProcessor model that plugins and the audio graph are built from, plus parameter handling.
needs yup_audio_basics, yup_data_model, yup_dsp
-
yup_audio_graphsource
A node-based graph of AudioProcessors for routing audio and MIDI, backed by the data model.
needs yup_audio_processors, yup_data_model
-
yup_audio_plugin_clientsource
Wrap your own AudioProcessor as a CLAP, VST3 or AU plugin, or as a standalone app.
needs yup_audio_processors, yup_gui
-
yup_audio_plugin_hostsource
In-process hosting of third-party VST3, CLAP, LV2 and AU plugins.
needs yup_audio_processors
03GraphicsThe rendering stack, from GPU abstraction to 2D drawing and animation.
-
yup_rhisource
Low-level GPU abstraction: devices, compute and render pipelines, buffers, textures and offscreen targets, with everything needed to render 3D into components and components into 3D. Use it for GPU compute without the 2D stack.
needs yup_core, yup_shading, yup_simd, rive
-
yup_shadingsource
Shader-source containers, a cross-platform shader transpiler and the .ysl shader-bundle format consumed by the RHI, for offline or runtime compilation.
needs yup_core
-
yup_graphicssource
2D drawing and windowed rendering on the RHI and Rive: paths, fonts, SVG, imaging and offscreen GPU canvases.
needs yup_core, yup_simd, yup_rhi, yup_shading, rive, libclipper2
-
yup_animationsource
A Lottie-compatible animation model with playback, rendering and export.
needs yup_core, yup_graphics
04UIComponents and widgets painted on the GPU.
-
yup_guisource
Components, windowing, events, layout and widgets that paint through the graphics stack and bind to the data model.
needs yup_events, yup_data_model, yup_graphics, rive
-
yup_audio_guisource
Waveforms, meters, spectrum analyzers and audio-graph editor views bridging the UI and audio stacks.
needs yup_audio_basics, yup_audio_devices, yup_audio_formats, yup_audio_processors, yup_audio_graph, yup_dsp, yup_gui
05ToolingDrive YUP from Python, and talk to language models.
-
yup_pythonsource
Python bindings for creating and driving YUP applications, generated for every supported module present in the build.
needs yup_core
-
yup_aisource
Chat-completion clients for OpenAI, Anthropic and Gemini, function-calling tools, embeddings and an MCP client and server.
needs yup_core, yup_events