mirror of
https://codeberg.org/armin/trommelkiste.git
synced 2026-09-01 04:10:46 +02:00
A simple drum machine made with JUCE
- C++ 93%
- CMake 4%
- Makefile 3%
Use a latch pattern for trackActive: the audio thread sets it true whenever a voice is active, and the UI timer atomically reads and clears it via exchange(false). This eliminates the race where the flag was cleared at the start of every processBlock, causing the 30Hz timer to miss brief activations from short samples. |
||
|---|---|---|
| JUCE@2cdfca8feb | ||
| Samples | ||
| Source | ||
| .gitignore | ||
| CMakeLists.txt | ||
| Makefile | ||
| README.md | ||
| trommelkisteshot.png | ||
Trommelkiste
A 10-track drum sampler plugin built with JUCE.
Screenshot
Tracks
| # | Abbreviation | Instrument |
|---|---|---|
| 1 | BD | Bass Drum |
| 2 | RS | Rimshot |
| 3 | SN | Snare |
| 4 | CL | Clap |
| 5 | CH | Closed Hi-Hat |
| 6 | PH | Pedal Hi-Hat |
| 7 | OH | Open Hi-Hat |
| 8 | RD | Ride |
| 9 | LT | Low Tom |
| 10 | MT | Mid Tom |
MIDI notes C4 through A4 (60-69) trigger the 10 tracks respectively.
Features
- 32-voice polyphony
- Per-track parameters: Level, Length, Velocity sensitivity, Pitch, Tone (low-pass filter), Pan, Decay mode (saw envelope / gate)
- Built-in sample library with ~160 TR-909-style WAV samples embedded as binary data
- 4 kit presets: Classic, Punchy, Soft, Raw
- Cycle through samples per track with prev/next buttons
- Load custom samples via file picker (WAV, AIFF, FLAC)
- Adjustable UI scale (100%-200%)
- State save/restore (DAW recall)
- Outputs: VST3, AU, Standalone
Building
make # build
make install # copy plugins to system directories
make clean # remove build directory
Requires CMake 3.22+, a C++17 compiler, and (on macOS) Xcode command-line tools. JUCE is cloned automatically on first build.
