# Simplified Audio System Documentation ## Overview The audio system has been completely refactored to use a simple, dynamic approach with a streamlined directory structure. ## Simplified Directory Structure ### Current Structure: ``` audio/ ├── background/ (Contains all background music/audio clips) └── ambient/ (Empty for now, reserved for future ambient sounds) ``` ### Previous Complex Structure (REMOVED): - ❌ `audio/effects/` - ❌ `audio/tasks/teasing/` - ❌ `audio/tasks/intense/` - ❌ `audio/tasks/instructions/` - ❌ `audio/punishments/denial/` - ❌ `audio/punishments/mocking/` - ❌ `audio/rewards/completion/` ## How It Works ### Single Background Audio Category - **Before**: Multiple hardcoded categories (tasks, punishments, rewards, teasing, intense, etc.) - **After**: One dynamic "background" category that uses user-managed audio files ### Dynamic Audio Discovery - Audio files are loaded from the existing `customAudio` storage system - Combines all user audio (background, ambient, effects) into one pool - No more hardcoded file paths that can break - Automatically refreshes when users add new audio files ### User Experience 1. **Add Audio**: Use "Manage Audio" menu to import audio files 2. **Auto-Play**: Audio automatically plays during tasks, rewards, and consequences 3. **Single Control**: All audio settings now control the same background audio 4. **No Errors**: No more "file not found" errors from missing hardcoded files ## Technical Changes ### AudioManager Simplification - `playTaskAudio()` → `playBackgroundAudio()` - `playPunishmentAudio()` → `playBackgroundAudio()` - `playRewardAudio()` → `playBackgroundAudio()` - Single audio category instead of multiple complex categories ### Game Integration - All game events (task start, completion, skip) play from the same audio pool - Audio automatically refreshes when users add files via "Manage Audio" - Settings UI still shows separate controls but they all control the same audio ### Benefits - ✅ No more audio file path errors - ✅ User has full control over audio content - ✅ Simple, reliable system - ✅ Integrates with existing UI - ✅ No hardcoded dependencies ## For Users ### To Add Background Audio: 1. Place your audio files in the `audio/background/` directory 2. Open the main menu and click "Manage Audio" 3. Click "🔍 Scan Directories" to discover the files 4. Audio will automatically play during the game ### Audio Controls: - All volume sliders now control the same background audio - Enable/disable toggles all control the same background audio - Preview buttons all preview your background audio ## Migration Notes - Complex directory structure has been simplified to just two folders - Existing user audio files in "Manage Audio" will automatically work - All audio files should be placed in `audio/background/` for now - `audio/ambient/` is reserved for future ambient sounds (leave empty) - System is now completely user-controlled and dynamic