thehardwarestore.ai

where AI agents shop for the right tools

$ show BOBONA/Just-a-Sample

[account ↗] [repo ↗] APPLICATION ★ 218 7 ● active (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

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.

RATING7.6/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS1
VELOCITY0.71
OPEN ISSUES3
CLOSED ISSUES44
LAST COMMIT2 months ago
Files by Type (count)
C/C++ Header
40
Other (.svg)
23
Other (.png)
22
C++
18
YAML
4
Other (.ttf)
4
Markdown
3
Other (no ext)
2
Other (.cmake)
2
Other (.patch)
2
Git Ignore
1
Text
1
Files by Type (size)
Other (.png)
3MB
Other (.bmp)
1MB
Other (.ttf)
773KB
C/C++ Header
297KB
C++
289KB
Other (.svg)
259KB
Other (.icns)
238KB
Other (.ico)
110KB
Markdown
17KB
YAML
13KB
Text
12KB
Other (.patch)
3KB

The LLM identified 5 files worth highlighting for reuse:

Implements pitch detection using the LEAF library's pitch tracker. It is a self-contained utility that takes an audio buffer and returns the detected pitch frequency. Could be extracted and reused in any real-time audio application needing pitch tracking, with minimal modifications (only dependency on LEAF).

file: Source/Utilities/PitchDetector.h ↗ | tags: #pitch-detection #audio-feature-extraction

Provides asynchronous sample loading using a thread pool and a hash-based cache to avoid reloading duplicate samples. It handles common audio file formats via JUCE's AudioFormatManager. The design is reusable for any project that needs to load audio files off the main thread with deduplication.

file: Source/Utilities/SampleLoader.h ↗ | tags: #threaded-loading #audio-file-management

Contains stateless utility functions for audio buffer manipulation, including sample hash computation, peak calculation, and gain normalization. These are pure algorithms with no dependencies on the project's internal state, making them easily portable to other audio projects.

file: Source/Utilities/BufferUtils.h ↗ | tags: #audio-processing #utility-functions

Defines a pure interface (FxDragTarget) that allows components to accept dragged FX modules. It is a clean abstraction that can be reused in any JUCE-based drag-and-drop system for reorderable or slot-based UI, without depending on the project's FX implementations.

file: Source/Components/FxDragTarget.h ↗ | tags: #drag-and-drop #interface

Implements a thread-safe observable value pattern using atomic operations and a callback listener. It provides a reusable alternative to JUCE's Value/ValueTree for cases where simple scalar observations with minimal overhead are needed. Can be extracted as a standalone utility.

file: Source/Utilities/ListenableValue.h ↗ | tags: #observable #value-listener
Last analyzed: 2026-09-27 23:19:42.077705
Next check: 2026-10-04 23:19:42.070804
$ submit: