80 lines
2.9 KiB
Markdown
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 |