Skip to content

Releases: irpina/Sampson-Sample-Manager

v0.9.0

05 Apr 08:37

Choose a tag to compare

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.py module for persistent app settings
  • Updated GitHub Actions to use Node.js 24
  • Excluded twine from 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

05 Apr 06:28

Choose a tag to compare

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

30 Mar 06:25
108c8a6

Choose a tag to compare

v0.8.0-beta Pre-release
Pre-release
v0.8.0: PyWebView UI migration (CustomTkinter → HTML/CSS/JS)

v0.8.0: PyWebView UI migration (CustomTkinter → HTML/CSS/JS)

SAMPSON v0.7.0

28 Mar 04:15

Choose a tag to compare

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

12 Mar 13:00

Choose a tag to compare

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

05 Mar 04:05

Choose a tag to compare

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:C or Note:F# — root note match
  • Duration filters: MinLength:10 or MaxLength: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.json for 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

03 Mar 16:46

Choose a tag to compare

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

28 Feb 22:03

Choose a tag to compare

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:

  1. Download SAMPSON-v0.4.0-macOS.zip
  2. Extract and drag SAMPSON.app to Applications
  3. Double-click to launch (no Gatekeeper warnings!)

Files Changed

  • SAMPSON_mac.spec - Build configuration
  • playback.py - NSSound implementation
  • conversion.py - ffprobe removal
  • build_macos.sh - Build script with cleanup
  • pyi_rth_tk_silence.py - Runtime hook for Tcl/Tk fix

SAMPSON v0.3.5

28 Feb 06:10

Choose a tag to compare

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

  1. Download SAMPSON-v0.3.5-macOS.zip
  2. Extract the ZIP file
  3. Drag SAMPSON.app to your Applications folder
  4. 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

27 Feb 15:01

Choose a tag to compare

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