JUCE is a wide-ranging C++ class library for building rich cross-platform applications and plugins for all the major operating systems. Having been actively developed since 2003, it is used by thousands of developers around the world, and JUCE-based apps are used by millions of people every day. JUCE contains over half a million lines of painstakingly hand-crafted code, and hundreds of classes with a strong emphasis on real-time audio/video processing, high-performance 2D/3D graphics and rich cross-platform UIs.
The library is divided into a series of submodules. You can choose to build with a subset of these modules, depending on your app’s requirements. Some of these submodules are:
The Core module contains fundamental classes for collections, threading, system information and networking.
A rich set of tools including basic audio data management classes, cross-platform audio I/O, audio file reading and writing, plugin hosting, a client wrapper and various helpers and GUI classes. Everything you need to create complex MIDI functionality.
Build VST, VST3, AU, RTAS and AAX format plugins with ease, and host VST and AU plugins inside your own applications.
JUCE makes it easy to build a versatile UI that can run on any platform and integrate OpenGL.
JUCE handles 2D rendering engines, image format handling and font functionality.