Operating System Compatibility
Build native applications and plug-ins that run on Windows, macOS, Linux, iOS and Android with a consistent user experience and a single codebase.
Plug-in Format Support
Create VST, VST3, AU, AUv3, AAX and LV2 plug-ins from a single codebase and host VST, VST3, AU, AUv3 and LV2 plug-ins in your own application.
Build System Integration
Include JUCE source files in your existing build system directly, via CMake, or via the Projucer.
Native Development Environments
Access the native software development tools on each platform and use debuggers, device simulators and existing software ecosystems.
Hook into the native accessibility controls on each platform by default to allowing users to interact with your software using familiar workflows.
Focus on developing chains of audio effects, filters, generators and instruments without worrying about the underlying platform.
Rapid Audio Development
Use JUCE’s library of digital audio processing (DSP) building blocks to rapidly prototype and release products.
MIDI and MPE
Communicate with MIDI and MPE devices directly, or stream MIDI and MPE via digital audio workstations (DAWs).
Audio Random Access (ARA) Support
Access a more powerful plug-in API to create plug-ins like Celemony's Melodyne.
Audio File formats
Read and write AIFF, FLAC, MP3, Ogg Vorbis, WAV and Windows Media files.
Audio Device Manager & Multichannel Audio
Interact directly with any attached audio hardware and use the full breadth of channels available from both the hardware and the routing provided by plug-in hosts.
Multiple Threads and Processes
Harness the power of modern computing hardware with first class support for multiple threads and processes.
Native Event Loop
Dispatch and respond to messages on the native event loop of each platform.
Draw vector graphics primitives to the screen using software, accelerated platform specific (CoreGrpahics), or OpenGL renderers.
Compose a hierarchy of pre-build widgets to add functionality to your software, including combo boxes, labels, sliders, buttons, tables, text editors, and trees.
Give a consistent user experience within and across multiple products using JUCE’s LookAndFeel classes to theme UI components.
Embed Native Windows
Use JUCE’s embedded windows to display specific operating system components within your software.
Decode and encode PNG, JPEG, GIF and SVG image files within your software.
Grid & Flexbox
Dynamically arrange your JUCE GUI components using industry standard layout schemes.
Customise notifications sent from your software to a user’s device.
Use an embedded browser to display local or remote web assets within your software.
Communicate with Open Sound Control (OSC) devices and software using JUCE’s OSC interface.
General Purpose Utilities
Read and write XML files, add logging functionality, use gzip and zip compression and decompression, use cryptography functions, navigate local file systems, construct web requests and communicate with other software and devices on a network.