UI courtesy from https://www.drywestdesign.com/:
Example rive animations (source code):
YUP is an open-source library dedicated to empowering developers with advanced tools for cross-platform application and plugin development, featuring state-of-the-art rendering and audio processing. Originating from a fork of JUCE7's ISC-licensed modules, YUP builds on the robust, high-performance capabilities that made JUCE7 popular among audio and visual application developers. Unlike its successor JUCE8, which moved to a restrictive AGPL license and an even more costly commercial one, YUP maintains the more permissive ISC license and ensures that all of its dependencies are either liberally licensed or public domain, remaining a freely accessible and modifiable resource for developers worldwide.
YUP brings a suite of powerful features, including:
- High-Performance Rendering: From intricate visualizations to high-speed gaming graphics, YUP handles it all with ease and efficiency, relying on the open source Rive Renderer, backed by Metal, Direct3D, OpenGL and WebGPU.
- Advanced Audio Processing: Tailored for professionals, our audio toolkit delivers pristine sound quality with minimal latency, suitable for music production, live performance tools, and more. Based on the JUCE7 module for audio/midi input and output.
- Open Source Audio Plugin Standards: Facilitates the development of CLAP plugin abstractions, providing a framework for creating versatile and compatible audio plugins.
- Cross-Platform Compatibility: Consistent and reliable on Windows, macOS, Linux (with Wasm, iOS and Android in the pipe).
- Extensive Testing Infrastructure: Massive set of unit and integration tests to validate functionality.
- Community-Driven Development: As an open-source project, YUP thrives on contributions from developers around the globe.
To begin using YUP, follow these detailed steps to set up the environment and run a simple example application:
Ensure you have the following installed:
- C++17 compatible compiler
- CMake 3.28 or later
Clone the YUP repository and build the library using the following commands:
git clone https://github.com/kunitoki/yup.git
cd yup
mkdir build
cmake -B build
Here is a simple example of creating a basic window using YUP:
// TODO
Save this as main.cpp
and compile it using:
# TODO
This will open a window titled "Hello YUP" with dimensions 800x600.
For full documentation, including more detailed tutorials and comprehensive API references, please visit YUP Documentation.
Join our growing community and contribute to the YUP project. Connect with us and other YUP developers:
- GitHub: YUP Repository
Interested in contributing? Here's how you can help:
- Fork the repository.
- Create a new branch for your changes (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Add some AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a Pull Request.
YUP is distributed under the ISC License, supporting both personal and commercial use, modification, and distribution without restrictions.
YUP was born in response to JUCE8’s shift to a more restrictive licensing model. By forking JUCE7’s community-driven, ISC-licensed modules, we aim to preserve and continue a legacy of high-quality, freely accessible software development. We are grateful to the JUCE7 community for laying the groundwork for this initiative.