initial commit
This commit is contained in:
36
README.md
Normal file
36
README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# icyws
|
||||
A tiny ices2 input module. It does two things:
|
||||
* Runs a WebSocket server on port 8765 that broadcasts the current song as `Artist - Title`
|
||||
* When run with no arguments, picks a random song from a newline‑separated file list, prints its full path, extracts metadata, and tells the WebSocket server
|
||||
|
||||
## Usage
|
||||
|
||||
### Start the server
|
||||
```
|
||||
icyws serve --bind :8765 --allow-origin *
|
||||
```
|
||||
|
||||
### Pick a random track
|
||||
```
|
||||
ICYWS_TRACKLIST=tracks.txt icyws
|
||||
```
|
||||
|
||||
This prints the selected file path to stdout and broadcasts the now‑playing info.
|
||||
|
||||
### Track list format
|
||||
A plain text file with one absolute file path per line.
|
||||
|
||||
### WebSocket endpoint
|
||||
Connect to: `/ws/radio`
|
||||
Receives: `Artist - Title` whenever a new song is selected
|
||||
|
||||
### Announcement endpoint (internal)
|
||||
If the websocket (serve mode) is live, picker mode POSTs to:
|
||||
```
|
||||
/announce
|
||||
```
|
||||
|
||||
### Build
|
||||
```
|
||||
go build -o icyws
|
||||
```
|
||||
Reference in New Issue
Block a user