JUCE is a mature, cross-platform C++ application framework specializing in audio software development. It provides a comprehensive set of modules covering core utilities, GUI, graphics, audio processing, MIDI, DSP, and plugin formats (VST3, AU, AAX, LV2, ARA). The architecture is a modular monolith: each module (e.g., juce_core, juce_audio_basics, juce_gui_basics) is a self-contained library that can be selectively included. Key entry points include JUCEApplication for desktop apps, AudioProcessor for audio plugins, and Component for GUI widgets. Data flows center on audio buffers (AudioSampleBuffer), MIDI messages, and event-driven GUI updates via message queues. External dependencies are minimal at the API level, but the framework bundles many third-party libraries (Opus, FLAC, Vorbis, WebP, HarfBuzz, Box2D, etc.) for codec and graphics support. The repository also includes the Projucer IDE for project generation and build tooling (CMake helpers, resource file management).
Just a Sample is a modern, open-source audio sampler plugin for VST3 and AU formats, built with the JUCE framework. It provides sample playback with time-stretching and pitch-shifting (via the Bungee library), a reorderable FX chain (reverb, chorus, distortion, EQ), waveform editing, recording, and microtonal tuning support via MTS-ESP. The architecture is a single plugin with a modular internal design: the core audio processing lives in CustomSamplerVoice, while UI components like SampleEditor, SampleNavigator, FxChain, and CustomLookAndFeel are separated into distinct modules. Effects are implemented as independent classes (Reverb, Chorus, Distortion, BandEQ) with a common interface. The project also includes Reaper-specific VST3 extensions for tighter DAW integration. The codebase demonstrates solid engineering practices with custom UI patterns, thread-safe sample loading, and a theme system supporting dark/light modes. While some parts show active development (TODOs, experimental features), the overall structure is clean and well-organized, making it a good reference for JUCE-based plugin development.