Add bundled default sound pack with auto-copy functionality

Features:
- Complete default sound pack with 14 OGG audio files covering all Bifrost events
- Auto-copy bundled pack to user data directory on first run (XDG compliant)
- Graceful fallback if bundled pack is missing or copy fails
- No network dependency for immediate audio feedback

Sound Pack Contents:
- Core sounds: startup, shutdown, success, error
- Communication: private_message, mention, boost, reply, post_sent
- Interface: timeline_update, notification
- Interaction: autocomplete, autocomplete_end

Technical Implementation:
- Enhanced SoundManager.create_default_pack() to copy from bundled location
- Smart path detection for bundled pack across different installation scenarios
- Robust error handling with minimal fallback pack.json creation
- Total pack size: ~260KB (suitable for regular Git without LFS)

User Experience:
- Immediate audio feedback from first application launch
- No setup or configuration required
- Sounds install to proper XDG data directory (~/.local/share/bifrost/sounds/)
- Users can still customize or replace the default pack

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Storm Dragon
2025-08-17 01:50:37 -04:00
parent eae3191081
commit f0f761a118
15 changed files with 73 additions and 21 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+21
View File
@@ -0,0 +1,21 @@
{
"name": "Default",
"description": "Clean, accessible default sounds for Bifrost",
"author": "Bifrost Development Team",
"version": "1.0",
"sounds": {
"private_message": "private_message.ogg",
"mention": "mention.ogg",
"boost": "boost.ogg",
"reply": "reply.ogg",
"post_sent": "post_sent.ogg",
"timeline_update": "timeline_update.ogg",
"notification": "notification.ogg",
"autocomplete": "autocomplete.ogg",
"autocomplete_end": "autocomplete_end.ogg",
"startup": "startup.ogg",
"shutdown": "shutdown.ogg",
"success": "success.ogg",
"error": "error.ogg"
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.