training-academy/AUDIO_SYSTEM_CHANGES.md

80 lines
2.9 KiB
Markdown

# 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