Skip to content

Releases: ryparker/claude-code-sounds

v1.7.2

Choose a tag to compare

@ryparker ryparker released this 14 Mar 21:34
Immutable release. Only release title and notes can be modified.
4e9c906

Fix

  • Add picocolors as a direct dependency — fixes MODULE_NOT_FOUND error when running via npx

v1.7.1

Choose a tag to compare

@ryparker ryparker released this 14 Mar 21:29
Immutable release. Only release title and notes can be modified.
3a53f13

Changes since v1.7.0

  • Add League of Legends theme (42 sounds)
  • Add optimize-audio.sh production audio pipeline
  • Add Prettier formatting
  • Update docs, remove deprecated normalize-audio.sh
  • Remove botw-construction sound from zelda-botw theme
  • Fix .gitignore

v1.7.0

Choose a tag to compare

@ryparker ryparker released this 13 Mar 08:19
Immutable release. Only release title and notes can be modified.
83d851b

What's New

  • New theme: Zelda Breath of the Wild (zelda-botw) — 42 sounds including Zelda voice lines, Korok discoveries, Guardian alerts, blood moon omen, and Sheikah Slate activation
  • Assign all orphaned sounds across aoe2, cnc, diablo2, starcraft, and wh40k themes
  • New test to catch unassigned sound files (prevents disk vs theme.json drift)
  • Fix matrix scroll bug — cursor no longer goes 2 rows past the visible area before the viewport scrolls down
  • Normalize audio across all themes to -16 LUFS for consistent volume

v1.6.1 — Hardening & robustness fixes

Choose a tag to compare

@ryparker ryparker released this 20 Feb 01:13
Immutable release. Only release title and notes can be modified.
ed847d5

Improvements

  • Safe JSON parsing — corrupted settings.json, .installed.json, and theme.json files are now handled gracefully instead of crashing
  • Atomic writes — settings and installed state are written via tmp+rename to prevent half-written files on crash
  • Copy-first sound install — new sounds are copied before old ones are removed, ensuring sounds are always available during transitions
  • Safe shell exec — replaced execSync shell interpolation with execFileSync in hasCommand() to prevent command injection

Tests

  • Added tests for corrupted JSON recovery, atomic writes, DND feature, and --dnd/--no-dnd CLI flags (163 total tests)

Docs

  • Fixed CLAUDE.md: removed stale .disabled/ reference, added commands/ to pack list, corrected line count

v1.6.0 — Do Not Disturb

Choose a tag to compare

@ryparker ryparker released this 20 Feb 00:48
Immutable release. Only release title and notes can be modified.
bbb6e19

Do Not Disturb — Auto-mute during video calls

Sounds are now automatically silenced when active video call processes are detected. Enabled by default on install.

How it works

  • The hook script checks ~/.claude/sounds/.dnd for process names before playing sounds
  • If any listed process is running (via pgrep), playback is skipped silently
  • Default detection: Zoom (CptHost), FaceTime, Webex

Usage

npx claude-code-sounds --dnd       # Enable (writes default .dnd file)
npx claude-code-sounds --no-dnd    # Disable (removes .dnd file)

Or toggle via the interactive menu.

Customizing

Edit ~/.claude/sounds/.dnd to add/remove process names — one per line, # for comments. Tip: use pgrep -la <app> to find meeting-specific process names.

v1.5.4

Choose a tag to compare

@ryparker ryparker released this 19 Feb 00:01
Immutable release. Only release title and notes can be modified.
25c4cd9

What's New

Mute/Unmute Toggle in Interactive Menu

  • Running npx claude-code-sounds now shows a Mute/Unmute sounds option in the menu when an existing install is detected
  • Mute status is shown in the install info line (e.g. "32 sounds enabled (muted)")
  • No need to start a new session or use CLI flags to toggle sounds

Full Changelog: v1.5.3...v1.5.4

v1.5.3

Choose a tag to compare

@ryparker ryparker released this 18 Feb 23:56
Immutable release. Only release title and notes can be modified.
f57b945

What's New

Package Size Fix

  • Converted all WAV audio files to MP3 (192kbps), reducing package from 228 MB to 52 MB
  • Fixes E413 Payload Too Large error that prevented v1.5.2 from publishing to npm

Mute/Unmute Support

  • --mute / --unmute CLI flags for toggling sounds
  • /mute and /unmute slash commands for toggling sounds mid-session inside Claude Code

Non-Blocking Playback

  • afplay is now detached from the process group so sounds no longer block Claude Code execution

Testing

  • Full test suite with 149 tests using node:test
  • CI runs tests on Node 20 and 22

Full Changelog: v1.5.2...v1.5.3

v1.5.2

Choose a tag to compare

@ryparker ryparker released this 18 Feb 10:04
Immutable release. Only release title and notes can be modified.
9faacf9

New Features

  • --theme flag — Install a specific theme directly, no prompts:
    npx claude-code-sounds --theme mgs
    npx claude-code-sounds -t zelda-oot
    
  • --mix flag — Jump straight to the sound assignment grid:
    npx claude-code-sounds --mix
    
  • Reconfigure defaults — When adding new themes via modify, they now come pre-checked with their default sound mappings

New Themes

9 new themes bringing the total to 16:

  • Age of Empires 2 — "Wololo!"
  • Command & Conquer — "Construction complete"
  • Diablo 2 — "Stay awhile and listen"
  • Warhammer 40k — "For the Emperor!"
  • StarCraft — "Not enough minerals"
  • Halo — "Wake me when you need me"
  • Pokemon Gen 3 — "A wild TREECKO appeared!"
  • Call of Duty — "Enemy AC-130 above!"
  • Short Circuit — "Number 5 is alive!"

Improvements

  • Normalized all sound files to -16 LUFS for consistent volume across themes
  • Fixed sound preview race condition when navigating the grid quickly
  • Added normalize-audio.sh script for leveling audio on new themes

Maintenance

  • Require Node >= 20
  • Updated CI workflow
  • Removed Star Trek theme (not ready)

v1.5.1

Choose a tag to compare

@ryparker ryparker released this 18 Feb 08:30
Immutable release. Only release title and notes can be modified.
aa6571c

Fixes

  • Fix reconfigure grid for newly added themes — pre-check sounds from theme.json defaults when a theme wasn't previously installed
  • Add --theme flag to README usage section

v1.5.0

Choose a tag to compare

@ryparker ryparker released this 18 Feb 08:23
Immutable release. Only release title and notes can be modified.
3c3c981

New Themes

Added 5 new sound themes:

  • Command & Conquer (cnc) — 72 sounds: EVA announcements, unit voices, and Red Alert
  • Age of Empires 2 (aoe2) — 38 sounds: Villager taunts, Wololo, and age advance fanfares
  • Diablo 2 (diablo2) — 41 sounds: Deckard Cain, item drops, and the Prime Evils
  • Warhammer 40k (wh40k) — 51 sounds: Space Marines, Chaos war cries, and Ork shouts
  • StarCraft (starcraft) — 67 sounds: Terran, Protoss, and Zerg voice lines

Total themes: 12 (up from 7)

Other Changes

  • Added social preview image
  • Fixed CI: added npm install step, updated theme validation
  • Require Node >= 20 (@clack/prompts is ESM-only)