mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 00:26:29 +00:00
docs: add attribution to official Bose SoundTouch Web API documentation
- Reference original API documentation source from Bose Corporation - Link to official Bose SoundTouch End-of-Life page - Clarify this is an independent implementation - Add disclaimer about non-affiliation with Bose Corporation - Provide both online and local documentation references
This commit is contained in:
+3
-3
@@ -33,8 +33,8 @@ CACHE_TTL=30s
|
||||
PREFERRED_DEVICES="Living Room@192.168.1.100:8090;Kitchen@192.168.1.101;192.168.1.102:8091"
|
||||
|
||||
# Real example based on your devices:
|
||||
# PREFERRED_DEVICES="Sound Machinechen@192.168.1.35;My SoundTouch Device@192.168.1.100"
|
||||
# PREFERRED_DEVICES="Sound Machinechen@192.168.178.35;A Sound Machine@192.168.178.28"
|
||||
|
||||
# Alternative format examples:
|
||||
# PREFERRED_DEVICES="192.168.1.35;192.168.1.100"
|
||||
# PREFERRED_DEVICES="SoundTouch 10@192.168.1.35;SoundTouch 20@192.168.1.100"
|
||||
# PREFERRED_DEVICES="192.168.178.35;192.168.178.28"
|
||||
# PREFERRED_DEVICES="SoundTouch 10@192.168.178.35;SoundTouch 20@192.168.178.28"
|
||||
|
||||
@@ -104,7 +104,7 @@ body:
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -121,7 +121,7 @@ body:
|
||||
render: shell
|
||||
placeholder: |
|
||||
Error: connection refused
|
||||
at github.com/user_account/bose-soundtouch/pkg/client.(*Client).makeRequest
|
||||
at github.com/gesellix/bose-soundtouch/pkg/client.(*Client).makeRequest
|
||||
...
|
||||
validations:
|
||||
required: false
|
||||
|
||||
@@ -13,9 +13,9 @@ updates:
|
||||
timezone: "UTC"
|
||||
open-pull-requests-limit: 5
|
||||
reviewers:
|
||||
- "user_account"
|
||||
- "gesellix"
|
||||
assignees:
|
||||
- "user_account"
|
||||
- "gesellix"
|
||||
commit-message:
|
||||
prefix: "deps"
|
||||
include: "scope"
|
||||
@@ -48,9 +48,9 @@ updates:
|
||||
timezone: "UTC"
|
||||
open-pull-requests-limit: 3
|
||||
reviewers:
|
||||
- "user_account"
|
||||
- "gesellix"
|
||||
assignees:
|
||||
- "user_account"
|
||||
- "gesellix"
|
||||
commit-message:
|
||||
prefix: "ci"
|
||||
include: "scope"
|
||||
|
||||
@@ -191,10 +191,10 @@ jobs:
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -255,7 +255,7 @@ jobs:
|
||||
## 🚀 Quick Start
|
||||
|
||||
\`\`\`bash
|
||||
go get github.com/user_account/bose-soundtouch@$TAG_NAME
|
||||
go get github.com/gesellix/bose-soundtouch@$TAG_NAME
|
||||
\`\`\`
|
||||
|
||||
\`\`\`go
|
||||
@@ -265,7 +265,7 @@ jobs:
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
A modern Go library and CLI tool for interacting with Bose SoundTouch devices via their Web API.
|
||||
|
||||
> **Note**: This implementation is based on the [official Bose SoundTouch Web API documentation](https://assets.bosecreative.com/m/496577402d128874/original/SoundTouch-Web-API.pdf) provided by Bose Corporation at their [SoundTouch End-of-Life page](https://www.bose.de/de_de/landing_pages/soundtouch-eol.html). This is an independent project and is not affiliated with or endorsed by Bose Corporation.
|
||||
|
||||
## Features
|
||||
|
||||
### ✅ Implemented (90% Complete - 18/20 endpoints)
|
||||
@@ -66,12 +68,12 @@ go run ./cmd/websocket-demo -host 192.168.1.10 -filter nowPlaying,volume -verbos
|
||||
|
||||
### Using Go
|
||||
```bash
|
||||
go install github.com/user_account/bose-soundtouch/cmd/soundtouch-cli@latest
|
||||
go install github.com/gesellix/bose-soundtouch/cmd/soundtouch-cli@latest
|
||||
```
|
||||
|
||||
### From Source
|
||||
```bash
|
||||
git clone https://github.com/user_account/bose-soundtouch.git
|
||||
git clone https://github.com/gesellix/bose-soundtouch.git
|
||||
cd bose-soundtouch
|
||||
make build
|
||||
```
|
||||
@@ -362,7 +364,7 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -423,8 +425,8 @@ import (
|
||||
"os/signal"
|
||||
"syscall"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -507,8 +509,8 @@ import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
// Custom logger for WebSocket events
|
||||
@@ -561,10 +563,10 @@ import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -732,8 +734,8 @@ import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -1033,6 +1035,12 @@ This project is licensed under the MIT License - see the LICENSE file for detail
|
||||
|
||||
## References
|
||||
|
||||
- [Official Bose SoundTouch Web API Documentation](docs/2025.12.18%20SoundTouch%20Web%20API.pdf)
|
||||
This project is based on the official Bose SoundTouch Web API documentation provided by Bose Corporation:
|
||||
|
||||
- **API Documentation Source**: [SoundTouch Web API PDF](https://assets.bosecreative.com/m/496577402d128874/original/SoundTouch-Web-API.pdf)
|
||||
- **Official Bose Page**: [SoundTouch End-of-Life Information](https://www.bose.de/de_de/landing_pages/soundtouch-eol.html)
|
||||
- [Local Copy of API Documentation](docs/2025.12.18%20SoundTouch%20Web%20API.pdf)
|
||||
- [Project Development Plan](docs/PLAN.md)
|
||||
- [Development Guidelines](docs/CLAUDE.md)
|
||||
- [Development Guidelines](docs/CLAUDE.md)
|
||||
|
||||
**Note**: This is an independent implementation based on publicly available API documentation. This project is not affiliated with or endorsed by Bose Corporation.
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
"strings"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
|
||||
@@ -13,10 +13,10 @@ import (
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
// parseHostPort splits a host:port string into separate host and port components
|
||||
|
||||
@@ -11,8 +11,8 @@ All specific IP addresses, device IDs, device names, and other potentially perso
|
||||
### IP Addresses
|
||||
|
||||
**Original → Anonymized:**
|
||||
- `192.168.1.35` → `192.168.1.10`
|
||||
- `192.168.1.100` → `192.168.1.10`
|
||||
- `192.168.178.35` → `192.168.1.10`
|
||||
- `192.168.178.28` → `192.168.1.10`
|
||||
- `192.168.1.100` → `192.168.1.10`
|
||||
- `192.168.1.101` → `192.168.1.11`
|
||||
- `192.168.1.102` → `192.168.1.12`
|
||||
|
||||
@@ -32,8 +32,8 @@ import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
)
|
||||
|
||||
func discoverAllDevices(timeout time.Duration) ([]*client.Client, error) {
|
||||
|
||||
@@ -54,7 +54,7 @@ The Bose SoundTouch Go client provides comprehensive bass control functionality
|
||||
### Basic Bass Control
|
||||
|
||||
```go
|
||||
import "github.com/user_account/bose-soundtouch/pkg/client"
|
||||
import "github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
|
||||
// Create client
|
||||
config := client.ClientConfig{
|
||||
@@ -117,7 +117,7 @@ newBass, err := c.DecreaseBass(1) // Decrease by 1, clamp if needed
|
||||
### Validation and Limits
|
||||
|
||||
```go
|
||||
import "github.com/user_account/bose-soundtouch/pkg/models"
|
||||
import "github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
|
||||
// Validate bass level before setting
|
||||
if models.ValidateBassLevel(level) {
|
||||
|
||||
+2
-2
@@ -73,8 +73,8 @@ For web components:
|
||||
When creating test data for API endpoints, prefer real device responses over hypothetical examples:
|
||||
|
||||
- **Available test endpoints**:
|
||||
- `http://192.168.1.100:8090/now_playing` - Different response type 1
|
||||
- `http://192.168.1.35:8090/now_playing` - Different response type 2
|
||||
- `http://192.168.178.28:8090/now_playing` - Different response type 1
|
||||
- `http://192.168.178.35:8090/now_playing` - Different response type 2
|
||||
- **Usage**: Fetch real responses to create accurate test fixtures
|
||||
- **Privacy**: Anonymize any personal data (account names, personal playlists, etc.)
|
||||
- **Coverage**: Use multiple real devices to cover different response variations
|
||||
|
||||
+3
-3
@@ -118,8 +118,8 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -158,7 +158,7 @@ import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -23,7 +23,7 @@ go mod init soundtouch-example
|
||||
### Step 2: Add the SoundTouch Client
|
||||
|
||||
```bash
|
||||
go get github.com/user_account/bose-soundtouch
|
||||
go get github.com/gesellix/bose-soundtouch
|
||||
```
|
||||
|
||||
### Step 3: Find Your Device
|
||||
@@ -38,7 +38,7 @@ import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -84,8 +84,8 @@ import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -313,7 +313,7 @@ import (
|
||||
"os/signal"
|
||||
"syscall"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -12,7 +12,7 @@ The SoundTouch CLI now supports parsing host and port combinations in the `-host
|
||||
```bash
|
||||
# Specify host and port together
|
||||
soundtouch-cli -host 192.168.1.100:8090 -info
|
||||
soundtouch-cli -host 192.168.1.35:8090 -play
|
||||
soundtouch-cli -host 192.168.178.35:8090 -play
|
||||
soundtouch-cli -host soundtouch.local:8090 -pause
|
||||
```
|
||||
|
||||
@@ -20,7 +20,7 @@ soundtouch-cli -host soundtouch.local:8090 -pause
|
||||
```bash
|
||||
# Traditional separate host and port flags
|
||||
soundtouch-cli -host 192.168.1.100 -port 8090 -info
|
||||
soundtouch-cli -host 192.168.1.35 -port 8090 -play
|
||||
soundtouch-cli -host 192.168.178.35 -port 8090 -play
|
||||
```
|
||||
|
||||
### Precedence Rules
|
||||
@@ -99,8 +99,8 @@ Comprehensive test coverage in `cmd/soundtouch-cli/main_test.go`:
|
||||
|
||||
### Integration Tests
|
||||
Tested with real SoundTouch devices:
|
||||
- ✅ SoundTouch 10 (192.168.1.100:8090)
|
||||
- ✅ SoundTouch 20 (192.168.1.35:8090)
|
||||
- ✅ SoundTouch 10 (192.168.178.28:8090)
|
||||
- ✅ SoundTouch 20 (192.168.178.35:8090)
|
||||
|
||||
## Benefits
|
||||
|
||||
|
||||
@@ -207,8 +207,8 @@ package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
+4
-4
@@ -36,7 +36,7 @@ This document describes the planning for a Golang-based API client for the Bose
|
||||
|
||||
### Final Project Structure
|
||||
```
|
||||
github.com/user_account/bose-soundtouch/
|
||||
github.com/gesellix/bose-soundtouch/
|
||||
├── cmd/
|
||||
│ ├── cli/ # CLI Tool (Main Application)
|
||||
│ │ └── main.go
|
||||
@@ -545,9 +545,9 @@ import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/discovery"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/discovery"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -61,7 +61,7 @@ package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -44,7 +44,7 @@ The Bose SoundTouch Go client provides comprehensive source selection functional
|
||||
### Basic Source Selection
|
||||
|
||||
```go
|
||||
import "github.com/user_account/bose-soundtouch/pkg/client"
|
||||
import "github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
|
||||
// Create client
|
||||
config := client.ClientConfig{
|
||||
|
||||
@@ -226,8 +226,8 @@ package main
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -27,8 +27,8 @@ import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -551,8 +551,8 @@ wsClient.OnVolumeUpdated(func(event *models.VolumeUpdatedEvent) {
|
||||
See the generated Go documentation for complete API details:
|
||||
|
||||
```bash
|
||||
go doc github.com/user_account/bose-soundtouch/pkg/client.WebSocketClient
|
||||
go doc github.com/user_account/bose-soundtouch/pkg/models.WebSocketEvent
|
||||
go doc github.com/gesellix/bose-soundtouch/pkg/client.WebSocketClient
|
||||
go doc github.com/gesellix/bose-soundtouch/pkg/models.WebSocketEvent
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
@@ -25,8 +25,8 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/client"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/client"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
module github.com/user_account/bose-soundtouch
|
||||
module github.com/gesellix/bose-soundtouch
|
||||
|
||||
go 1.25.5
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func TestClient_SetName(t *testing.T) {
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func TestClient_GetBalance(t *testing.T) {
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
// Integration tests for bass control functionality
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func TestClient_GetBass(t *testing.T) {
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
// defaultSoundTouchPort is the standard port for SoundTouch devices
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
|
||||
"testing"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func TestClient_GetClockTime(t *testing.T) {
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
"github.com/gorilla/websocket"
|
||||
)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
"github.com/gorilla/websocket"
|
||||
)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func TestClient_GetZone(t *testing.T) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
// Config holds configuration for the SoundTouch application
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
"github.com/hashicorp/mdns"
|
||||
)
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
// UnifiedDiscoveryService combines SSDP and mDNS discovery methods
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
)
|
||||
|
||||
func TestNewUnifiedDiscoveryService(t *testing.T) {
|
||||
|
||||
@@ -12,8 +12,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
// Service handles UPnP SSDP discovery of SoundTouch devices
|
||||
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/user_account/bose-soundtouch/pkg/config"
|
||||
"github.com/user_account/bose-soundtouch/pkg/models"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/config"
|
||||
"github.com/gesellix/bose-soundtouch/pkg/models"
|
||||
)
|
||||
|
||||
func TestNewDiscoveryService(t *testing.T) {
|
||||
|
||||
@@ -5,8 +5,8 @@ After successfully releasing v1.0.0, follow this checklist to maximize visibilit
|
||||
## ✅ Immediate Actions (Within 24 hours)
|
||||
|
||||
### Go Package Registry
|
||||
- [ ] Verify pkg.go.dev indexing: https://pkg.go.dev/github.com/user_account/bose-soundtouch
|
||||
- [ ] If not indexed, submit via: `go get github.com/user_account/bose-soundtouch@v1.0.0`
|
||||
- [ ] Verify pkg.go.dev indexing: https://pkg.go.dev/github.com/gesellix/bose-soundtouch
|
||||
- [ ] If not indexed, submit via: `go get github.com/gesellix/bose-soundtouch@v1.0.0`
|
||||
- [ ] Check documentation rendering on pkg.go.dev
|
||||
|
||||
### Community Engagement
|
||||
@@ -23,13 +23,13 @@ After successfully releasing v1.0.0, follow this checklist to maximize visibilit
|
||||
✅ Real-time WebSocket events
|
||||
✅ 4000+ lines of documentation
|
||||
✅ CLI tool with cross-platform binaries
|
||||
Tested on real hardware! https://github.com/user_account/bose-soundtouch"
|
||||
Tested on real hardware! https://github.com/gesellix/bose-soundtouch"
|
||||
```
|
||||
|
||||
- [ ] **Hacker News** submission:
|
||||
```
|
||||
Title: "Bose SoundTouch Go Library – Complete API with WebSocket Events"
|
||||
URL: https://github.com/user_account/bose-soundtouch
|
||||
URL: https://github.com/gesellix/bose-soundtouch
|
||||
```
|
||||
|
||||
### Social Media
|
||||
@@ -46,7 +46,7 @@ After successfully releasing v1.0.0, follow this checklist to maximize visibilit
|
||||
Perfect for home automation & music control apps
|
||||
|
||||
#golang #IoT #music #opensource
|
||||
https://github.com/user_account/bose-soundtouch"
|
||||
https://github.com/gesellix/bose-soundtouch"
|
||||
```
|
||||
|
||||
- [ ] **LinkedIn** professional post (if applicable)
|
||||
@@ -72,7 +72,7 @@ After successfully releasing v1.0.0, follow this checklist to maximize visibilit
|
||||
- [ ] Submit to **awesome-go**: https://github.com/avelino/awesome-go
|
||||
```
|
||||
Category: Audio and Music
|
||||
Entry: [bose-soundtouch](https://github.com/user_account/bose-soundtouch) - Go library for controlling Bose SoundTouch speakers with 100% API coverage and WebSocket events.
|
||||
Entry: [bose-soundtouch](https://github.com/gesellix/bose-soundtouch) - Go library for controlling Bose SoundTouch speakers with 100% API coverage and WebSocket events.
|
||||
```
|
||||
|
||||
- [ ] Submit to **go-awesome**: https://github.com/shivammg/go-awesome
|
||||
@@ -103,7 +103,7 @@ After successfully releasing v1.0.0, follow this checklist to maximize visibilit
|
||||
- [ ] **Helm chart** for Kubernetes deployment
|
||||
- [ ] **Homebrew formula** for easy CLI installation:
|
||||
```bash
|
||||
brew install user_account/tap/soundtouch-cli
|
||||
brew install gesellix/tap/soundtouch-cli
|
||||
```
|
||||
|
||||
## 📊 Success Metrics to Track
|
||||
@@ -165,7 +165,7 @@ The project demonstrates several interesting engineering challenges:
|
||||
|
||||
Would this be interesting for [blog/podcast]? I'd be happy to discuss the technical details and lessons learned.
|
||||
|
||||
GitHub: https://github.com/user_account/bose-soundtouch
|
||||
GitHub: https://github.com/gesellix/bose-soundtouch
|
||||
|
||||
Best regards,
|
||||
[Your name]
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
set -e
|
||||
|
||||
VERSION=${1:-"v1.0.0"}
|
||||
GITHUB_REPO="user_account/bose-soundtouch"
|
||||
GITHUB_REPO="gesellix/bose-soundtouch"
|
||||
|
||||
echo "🚀 Preparing local release build $VERSION for $GITHUB_REPO"
|
||||
echo "💡 Note: This is for local testing. Use 'git tag && git push --tags' for automated release"
|
||||
|
||||
Reference in New Issue
Block a user