Druminaa - Error Sound Alert 🔊

Never miss an error again! Druminaa plays custom sounds when errors, warnings, or terminal failures occur in VS Code, giving you instant audio feedback without constantly watching your screen.

✨ Features
- 🔊 Task Failure Detection - Plays sound when build tasks fail
- 🖥️ Terminal Error Monitoring - Detects command failures and non-zero exit codes
- 🎵 Custom Sound Support - Use your own audio files
- 💾 Persistent Configuration - Custom sounds remain after restart
- 🎚️ Multi-Format Support - MP3, WAV, OGG, M4A, FLAC, AAC
- 🚀 Zero Configuration - Works out of the box with default sound
- 🌍 Cross-Platform - Windows, macOS, and Linux
📦 Installation
From VSIX File
- Download
druminaa-1.0.2.vsix
- Open VS Code
- Press
Ctrl+Shift+P (or Cmd+Shift+P on Mac)
- Type: Extensions: Install from VSIX
- Select the downloaded
.vsix file
- Reload VS Code
From VS Code Marketplace (Coming Soon)
Search for "Druminaa" in the Extensions panel (Ctrl+Shift+X)
🚀 Quick Start
Default Usage (No Setup Required)
Druminaa works immediately after installation with the built-in default sound!
- Open a terminal in VS Code (`Ctrl+``)
- Type a wrong command:
sllsl
- Press Enter
- 🔊 Hear the error sound!
Set Your Custom Sound (Optional)
- Press
Ctrl+Shift+P (or Cmd+Shift+P on Mac)
- Type: Druminaa: Set Custom Error Sound
- Select your audio file (MP3, WAV, OGG, M4A, FLAC, AAC)
- Done! Your custom sound is now permanently saved
Reset to Default Sound
- Press
Ctrl+Shift+P
- Type: Druminaa: Reset to Default Sound
- Back to the original sound!
🎮 Commands
Access all commands via Command Palette (Ctrl+Shift+P or Cmd+Shift+P):
| Command |
Description |
Druminaa: Set Custom Error Sound |
Choose your custom error sound file |
Druminaa: Reset to Default Sound |
Reset to the built-in default sound |
⚙️ Configuration
Configure Druminaa in VS Code Settings (Ctrl+, or Cmd+,):
Settings
| Setting |
Type |
Default |
Description |
raaa.customSoundPath |
string |
"" |
Path to custom error sound file. Leave empty to use default. |
Example Configuration
{
"raaa.customSoundPath": "/home/user/sounds/my-error.mp3"
}
Note: Custom sound paths are saved globally and persist across VS Code restarts.
- MP3 - Most common format
- WAV - Uncompressed audio
- OGG - Open-source format
- M4A - Apple audio format
- FLAC - Lossless compression
- AAC - Advanced audio coding
🔔 When Does Druminaa Play Sounds?
Druminaa automatically detects and plays sounds for:
1. Task Failures
When VS Code tasks fail with non-zero exit codes:
Task "build" failed (exit 1)
2. Terminal Command Failures
When terminal commands fail:
bash: sllsl: command not found...
3. Terminal Exit Errors
When terminal closes with error status:
Terminal exited (code 127)
💻 System Requirements
Windows
- Audio Player: PowerShell (pre-installed)
- OS: Windows 10 or later
macOS
- Audio Player:
afplay (pre-installed)
- OS: macOS 10.14 or later
Linux
🎯 Use Cases
For Developers
- Get instant feedback when builds fail
- Know immediately when tests fail
- Catch terminal errors without watching the screen
For DevOps Engineers
- Monitor long-running deployment scripts
- Get alerted when CI/CD tasks fail
- Detect infrastructure command failures
For Data Scientists
- Know when training scripts fail
- Get notified about data processing errors
- Monitor long-running notebook executions
🛠️ Troubleshooting
Sound Not Playing?
Check Audio Player Installation (Linux only):
which ffplay
# Should output: /usr/bin/ffplay
Verify Sound File Exists:
- Press
Ctrl+Shift+P
- Run: Druminaa: Reset to Default Sound
- Try again
Check Custom Sound Path:
- Open Settings (
Ctrl+,)
- Search:
raaa.customSoundPath
- Verify the path is correct and file exists
Commands Not Showing?
- Press
Ctrl+Shift+P
- Type: Developer: Reload Window
- Try again
Still Having Issues?
- Check VS Code Output panel: View → Output → Druminaa
- Open Developer Tools: Help → Toggle Developer Tools
- Check Console for error messages
📖 How It Works
Architecture
┌─────────────────────────────────────────┐
│ VS Code Extension Host │
├─────────────────────────────────────────┤
│ src/extension.ts │
│ ├─ Task Monitor │
│ ├─ Terminal Monitor │
│ └─ Command Handlers │
├─────────────────────────────────────────┤
│ src/audioPlayer.ts │
│ ├─ Windows: PowerShell MediaPlayer │
│ ├─ macOS: afplay │
│ └─ Linux: ffplay │
└─────────────────────────────────────────┘
Sound Selection Logic
- Check Custom Sound Path (from settings)
- If exists → Use custom sound ✅
- Fallback to Default (
Fahhh.mp3)
- Always available in extension package ✅
Persistence
Custom sound paths are saved in VS Code's Global Settings:
- Linux/Mac:
~/.config/Code/User/settings.json
- Windows:
%APPDATA%\Code\User\settings.json
This ensures your custom sound persists across:
- ✅ VS Code restarts
- ✅ Window reloads
- ✅ Extension updates
- ✅ System reboots
🔧 Development
Prerequisites
- Node.js (v18 or higher)
- npm
- VS Code
Setup
# Clone repository
git clone https://github.com/druminaa/druminaa.git
cd druminaa
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch mode (auto-compile)
npm run watch
Debug Extension
- Open project in VS Code
- Press
F5
- Extension Development Host window opens
- Test your changes
Package Extension
# Create production build
npm run package
# Package as VSIX
npx @vscode/vsce package
Project Structure
druminaa/
├── src/
│ ├── extension.ts # Main extension logic
│ └── audioPlayer.ts # Cross-platform audio playback
├── dist/ # Compiled JavaScript (generated)
├── Fahhh.mp3 # Default error sound
├── package.json # Extension manifest
├── tsconfig.json # TypeScript configuration
├── esbuild.js # Build configuration
└── README.md # This file
📝 Examples
Example 1: Build Task Failure
# Running task: npm run build
> build
> tsc
error TS2304: Cannot find name 'foo'.
🔊 Sound plays: "Task 'build' failed (exit 1)"
Example 2: Terminal Command Error
$ sllsl
bash: sllsl: command not found
🔊 Sound plays: "Command failed (exit 127)"
Example 3: Custom Sound Setup
# User sets custom sound
Ctrl+Shift+P → "Druminaa: Set Custom Error Sound"
→ Select: /home/user/sounds/alarm.mp3
# Settings saved to:
{
"raaa.customSoundPath": "/home/user/sounds/alarm.mp3"
}
# Next error:
🔊 Plays: alarm.mp3 (custom sound)
# After VS Code restart:
🔊 Still plays: alarm.mp3 (persisted!)
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
How to Contribute
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature)
- Commit your changes (
git commit -m 'Add some AmazingFeature')
- Push to the branch (
git push origin feature/AmazingFeature)
- Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Inspired by the need for better error feedback in development workflows
- Built with ❤️ for developers who multitask
- Thanks to the VS Code extension API team
📞 Support
🎉 Enjoy!
Made with ❤️ for developers who want instant audio feedback on errors.
Never miss an error again with Druminaa! 🔊
⭐ If you find this extension helpful, please star the repository!
