Releases: irpina/Sampson-Sample-Manager
v0.9.0
What's New in v0.9.0
Major Features
-
Persistent Source Directory — SAMPSON now remembers the last used source folder and automatically reopens it on launch. Falls back to the current working directory, then the app directory if unavailable.
-
Help Tooltips — Every option in the centre panel now has an inline "?" help icon. Hover to see explanations of what each setting does.
-
Static RUN Button — The RUN button is now always visible between the options panel and status bar, unaffected by expanding/collapsing sections.
-
Windows Build Support — Added full Windows support using native Edge WebView2 (no Qt bundling, keeping binary size ~60-80MB).
New Device Profiles
- Akai MPC Sample — Multi-format support (WAV, AIFF, MP3, FLAC, OGG) with 255-character path limit
- TE EP-133 K.O. II — 44.1kHz/16-bit WAV preset (native 46875Hz, but device accepts lower rates)
Improvements
- BPM/Key Detection — Files shorter than 3 seconds are now automatically skipped (too short for reliable analysis)
- GPL v3 License — Project is now properly licensed under GNU GPL v3
- Documentation — Added CONTRIBUTING.md and license footers to all documentation files
Technical
- Added
settings.pymodule for persistent app settings - Updated GitHub Actions to use Node.js 24
- Excluded
twinefrom PyInstaller bundle (reduces size) - Fixed tooltip z-index issues (now render above all UI elements)
Builds
- macOS: Signed and notarized
- Linux: x86_64 binary
- Windows: Portable executable (build on Windows machine with
build_windows.ps1)
SAMPSON v0.8.2
SAMPSON v0.8.2
New Features
- Per-file checkboxes in Deck A — Individual audio files now have checkboxes just like folders, allowing fine-grained selection control
- Fixed Deck B column widths — Columns now maintain consistent widths with ellipsis truncation; hover to see full filenames
- Per-file name override — Double-click "Will become" column to manually edit output filenames (shows in amber italic when overridden)
Bug Fixes
- Root-level audio files — Files sitting directly in the source folder (not in subfolders) now properly appear in Deck B preview
- Logo paths — Fixed README logo display after logo migration to ui/ folder
Improvements
- Unified selection system handles both directories (recursive scan) and individual files
- Select All / Deselect All now works for both folders and files
- PyWebView UI migration complete (migrated from CustomTkinter)
- 70s light mode theme with logo and layout polish
- Per-module CLAUDE.md documentation system
Technical
- macOS: Signed and notarized with Developer ID
- Build: Fixed spec file for proper asset bundling
- Version bump: v0.8.1 → v0.8.2
v0.8.0-beta
v0.8.0: PyWebView UI migration (CustomTkinter → HTML/CSS/JS) v0.8.0: PyWebView UI migration (CustomTkinter → HTML/CSS/JS)
SAMPSON v0.7.0
What's New in v0.7.0
Features
- Custom Filename Prefix: New text entry field below 'Modify file names' checkbox
- Max 10 characters (A-Z, a-z, 0-9, _, -)
- When provided, replaces the parent folder prefix
- Format:
PREFIX_filename.wav - Live preview updates as you type
Bug Fixes
-
Windows Console Popup Fix: Completely eliminated console flashes during audio operations
- Centralized subprocess.Popen patch in main.py
- Covers BPM detection, key detection, and file conversion
- No more distracting console windows in PyInstaller builds
-
MacOS Race Condition: Intermittent crash on launch
- Fixed
Files Changed
- main.py, state.py, builders.py, operations.py, preview.py
- bpm.py, key.py, conversion.py (removed duplicate patches)
Downloads
- macOS (arm64): SAMPSON_mac_v0.7.0.zip
- Windows: Build from source with
pyinstaller SAMPSON.spec
SAMPSON v0.6.1
SAMPSON v0.6.1
Fixes
macOS Launch Issues
-
Fixed race condition causing app to fail launching on double-click
Added single instance lock to prevent multiple simultaneous launches -
Fixed AppKit activation timing
Proper app activation ensures window appears correctly on launch
FFmpeg Detection
- Fixed ffmpeg not being detected in bundled app
Added proper bundle path resolution for static_ffmpeg binaries
Changes
- Add file locking mechanism (
~/.sampson/app.lock) - Add macOS app activation handling
- Update Info.plist with better launch behavior settings
- Version bump to 0.6.1
Download
macOS (Apple Silicon & Intel)
SAMPSON_mac_v0.6.1.zip - Signed and notarized
Requires macOS 12.0 or later.
SAMPSON v0.6.0
What's New in SAMPSON v0.6.0
🔍 Smart Search & Filter (Deck B)
Search your sample library with structured queries:
- Text search:
kick— filename substring match - BPM filters:
BPM:120(exact),BPM:100-140(range),BPM:12*(wildcard) - Note filters:
Note:CorNote:F#— root note match - Duration filters:
MinLength:10orMaxLength:90— seconds - Combined:
kick BPM:120-140 Note:C MinLength:5— AND logic
🎵 Musical Key Detection
- Automatic root pitch class detection for all audio files
- Results cached to
~/.sampson/key_cache.jsonfor instant reload - Double-click any Key cell to manually override
- "Fresh scan" option to re-detect and update cached values
📊 Column Sorting (Deck B)
- Click BPM, Note, or Length headers to sort
- Toggle: Ascending ▲ → Descending ▼ → No sort
- Sorting applies before filtering for precise control
⏱️ Duration Column
- New Length column showing audio file duration
- Fast header reading for WAV/AIFF files
- MP3/FLAC/OGG via ffprobe fallback
✨ Other Improvements
- BPM/Key columns now visible when cached data exists (even if detection toggle is off)
- Fixed center panel scrolling issues when hovering over deck areas
- Improved key detection accuracy for short oneshot samples
- Visual polish: fixed unrounded corners on center panel
Full Changelog: v0.5.8...v0.6.0
SAMPSON v0.5.8
SAMPSON v0.5.8
What's new in v0.5.8
- Rounded status bar — the status bar now has rounded corners matching the rest of the UI cards
What's new since v0.4.0
Sample browser mode (v0.5.7)
- Deck B now shows files as-is by default — no renaming, just browsing. Tick Modify file names to enable the prefix-rename workflow.
- Deck B search bar — filter the preview list in real time by filename
- Deck B full-height — Deck B extends the full window height for more browsing room
- All centre-panel option sections collapse by default for a cleaner layout
BPM detection (v0.5.0–0.5.6)
- Detect tempo during a Run; results are cached and shown in Deck B
- Manual BPM override via double-click on any row in Deck B
- Works on WAV, AIFF, MP3, FLAC and more via bundled ffmpeg
- Pure-Python autocorrelation algorithm — no extra dependencies
Audio conversion (v0.4.x)
- Convert samples to WAV or AIFF at any sample rate (44.1/48/96 kHz) and bit depth (16/24/32-bit) during copy/move
- Per-device conversion presets (M8, MPC One, SP-404mkII, Elektron devices)
- Normalize option
Folder structure modes (v0.4.x)
- Flat, Mirror source tree, or One folder per parent — controls how files are arranged in the destination
Platform support
- Windows — single-file EXE, no install required
- macOS — build coming soon (requires Mac hardware for signing/notarization)
SAMPSON is a universal audio sample manager for hardware samplers (M8, MPC One, SP-404mkII, and more).
SAMPSON v0.4.0
SAMPSON v0.4.0 - macOS Build Optimizations
What's New
Build Size Reduction (50% smaller!)
- Before: 158 MB → After: 79 MB
- Saved: 79 MB through multiple optimization phases
Changes
Phase 1: Build Configuration
- Strip debug symbols from binaries
- Exclude unused stdlib modules (sqlite3, readline, etc.)
- Filter pygame docs/tests/examples (~10 MB saved)
Phase 2: Remove ffprobe Dependency
- Pass audio format explicitly to pydub
- Eliminate ffprobe binary from bundle (~47 MB saved)
- Conversion still works for all formats: WAV, AIFF, MP3, FLAC, OGG
Phase 3: Replace pygame with NSSound
- Native macOS audio playback via AppKit.NSSound
- Remove SDL2 libraries and pygame (~17 MB saved)
- Windows/Linux builds still use pygame
Phase 4: Tcl/Tk Cleanup
- Remove unused message catalogs and encodings
- Clean optional Tcl packages (~3 MB saved)
Bug Fixes
- Fixed Tcl/Tk 9.0 console crash - App now launches reliably on macOS
- Fixed double-click launch - Uses LSEnvironment in Info.plist
- Proper code signing and notarization - No Gatekeeper warnings
Downloads
| Platform | File | Size |
|---|---|---|
| macOS (Apple Silicon) | SAMPSON-v0.4.0-macOS.zip |
~36 MB |
Installation
macOS:
- Download
SAMPSON-v0.4.0-macOS.zip - Extract and drag
SAMPSON.appto Applications - Double-click to launch (no Gatekeeper warnings!)
Files Changed
SAMPSON_mac.spec- Build configurationplayback.py- NSSound implementationconversion.py- ffprobe removalbuild_macos.sh- Build script with cleanuppyi_rth_tk_silence.py- Runtime hook for Tcl/Tk fix
SAMPSON v0.3.5
SAMPSON v0.3.5 — macOS Release
Changes
- Fix: macOS window scaling (BUG-002) — window now fits properly on screen
- UI: Aligned conversion option dropdowns with fixed label widths
- UI: Uniform dropdown widths for consistent visual appearance
Installation
- Download
SAMPSON-v0.3.5-macOS.zip - Extract the ZIP file
- Drag
SAMPSON.appto your Applications folder - First launch: Right-click the app and select "Open" to bypass Gatekeeper warning
Requirements
- macOS 10.13+ (Intel or Apple Silicon)
- No additional dependencies required (fully self-contained)
SAMPSON v0.14
What's new in v0.14
Audio sample playback
Click any file in the preview (Deck B) to hear it instantly.
Transport controls in the centre panel:
- ◀ — previous file (auto-plays)
- ▶ / ■ — play / stop toggle
- ▶▶ — next file (auto-plays)
Keyboard navigation: Up / Down arrow keys in the preview list auto-play as you move through files.
Previous release (v0.13)
- Initial audio playback support via pygame-ce
- Hidden source-path column in preview tree for playback lookup
- Playback stops on theme toggle and source navigation
Powered by pygame-ce — supports WAV, AIFF, FLAC, MP3, OGG