mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 08:36:13 +00:00
feat: Add RadioBrowser integration alongside TuneIn support
- Refactors BMX service to support multiple radio providers - Adds RadioBrowser.com API integration with search and browse - Splits TuneIn logic into separate module for better organization - Adds new web UI components for radio station discovery - Includes new SVG icons for RadioBrowser branding
This commit is contained in:
@@ -7,7 +7,7 @@ This document serves as the entry point for understanding the comprehensive plan
|
||||
## Project Objectives
|
||||
|
||||
### Primary Goal
|
||||
Create a robust, local replacement for Bose's upstream services that can seamlessly handle the transition from cloud-dependent to fully autonomous operation while maintaining and improving upon the existing functionality.
|
||||
Create a robust replacement for Bose's upstream services that can seamlessly handle the transition from cloud-dependent to fully autonomous operation while maintaining and improving upon the existing functionality.
|
||||
|
||||
### Key Outcomes
|
||||
- **Zero-downtime transition** from Bose services to local management
|
||||
@@ -21,7 +21,7 @@ Create a robust, local replacement for Bose's upstream services that can seamles
|
||||
### Current State
|
||||
The existing SoundTouch service provides:
|
||||
- BMX service for TuneIn integration
|
||||
- Marge service for account and device management
|
||||
- Marge service for account and device management
|
||||
- Basic mirroring of upstream Bose endpoints
|
||||
- File-based persistence for device data
|
||||
- Migration support for device directory structures
|
||||
@@ -42,7 +42,7 @@ The enhanced system will add:
|
||||
- **Mirror-Enhanced Setup**: Use upstream data to enrich account creation
|
||||
- **Passive Data Collection**: Record account information during normal operations
|
||||
|
||||
### Case 1a: Fresh Device Registration
|
||||
### Case 1a: Fresh Device Registration
|
||||
- **Factory Reset Support**: Handle devices with no prior Bose association
|
||||
- **Default Configuration**: Initialize devices with sensible presets and sources
|
||||
- **Local-First Setup**: Complete registration without upstream dependencies
|
||||
@@ -100,7 +100,7 @@ data/
|
||||
- Basic API endpoints with comprehensive testing
|
||||
- Integration with existing datastore patterns
|
||||
|
||||
### Phase 2: Device Lifecycle (2-3 weeks) - Build on Existing Systems
|
||||
### Phase 2: Device Lifecycle (2-3 weeks) - Build on Existing Systems
|
||||
- Event processing using existing WebSocket system
|
||||
- Lifecycle integration with current discovery and migration
|
||||
- Enhanced logging building on existing parity detection
|
||||
@@ -178,4 +178,4 @@ This concept is detailed across several documents:
|
||||
3. **Resource Planning**: Allocate development resources for the three-phase implementation
|
||||
4. **Community Engagement**: Share plans with the community for feedback and contributions
|
||||
|
||||
This enhanced state management system represents a significant evolution of the SoundTouch service, transforming it from a basic cloud replacement into a comprehensive, future-proof device management platform that can serve users well beyond the Bose service shutdown timeline.
|
||||
This enhanced state management system represents a significant evolution of the SoundTouch service, transforming it from a basic replacement into a comprehensive, future-proof device management platform that can serve users well beyond the Bose service shutdown timeline.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Overview
|
||||
|
||||
This document outlines the concept for simulating and replacing upstream Bose services with enhanced state management capabilities. The goal is to create a comprehensive local replacement that can handle device lifecycles, account management, and state synchronization while maintaining compatibility with existing SoundTouch devices.
|
||||
This document outlines the concept for simulating and replacing upstream Bose services with enhanced state management capabilities. The goal is to create a comprehensive replacement that can handle device lifecycles, account management, and state synchronization while maintaining compatibility with existing SoundTouch devices.
|
||||
|
||||
## Use Cases
|
||||
|
||||
@@ -331,7 +331,7 @@ GET /api/v1/accounts/{account-id}/export
|
||||
### Quality Assurance
|
||||
|
||||
- Complete test coverage for all new functionality
|
||||
- Comprehensive linting with `golangci-lint run --fix`
|
||||
- Comprehensive linting with `golangci-lint run --fix`
|
||||
- Full test suite execution `go test ./...` for each milestone
|
||||
- Integration tests with existing functionality
|
||||
|
||||
@@ -387,4 +387,4 @@ Future improvements should maintain the simplicity-first approach:
|
||||
- Simple reporting mechanisms
|
||||
- Clear documentation for community contributions
|
||||
|
||||
This concept provides a solid, maintainable foundation for replacing Bose's upstream services. The emphasis on simplicity, existing system reuse, and comprehensive testing ensures reliable functionality while maintaining the debugging capabilities needed for small hardware deployments.
|
||||
This concept provides a solid, maintainable foundation for replacing Bose's upstream services. The emphasis on simplicity, existing system reuse, and comprehensive testing ensures reliable functionality while maintaining the debugging capabilities needed for small hardware deployments.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Migration Guide: From Bose Cloud to AfterTouch
|
||||
|
||||
This guide walks through the complete process of migrating your SoundTouch speakers from Bose's cloud services to **AfterTouch**, the local replacement provided by `soundtouch-service`. By the end, your speakers will work fully independently of Bose's servers.
|
||||
This guide walks through the complete process of migrating your SoundTouch speakers from Bose's cloud services to **AfterTouch**, the replacement provided by `soundtouch-service`. By the end, your speakers will work fully independently of Bose's servers.
|
||||
|
||||
For a shorter overview, see the [Survival Guide](SURVIVAL-GUIDE.md). For safety considerations and rollback options, see the [Migration & Safety Guide](MIGRATION-SAFETY.md).
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ What **continues to work** regardless:
|
||||
- Bluetooth, AUX, and AirPlay inputs
|
||||
- Multiroom zones (local, peer-to-peer)
|
||||
|
||||
**AfterTouch** — the `soundtouch-service` — restores everything in the first list by running a local replacement for the Bose cloud on your own network.
|
||||
**AfterTouch** — the `soundtouch-service` — restores everything in the first list by running a replacement for the Bose cloud on your own network.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user