docs: document per-favorite volume persistence and narrow scope; prepare v2.1.1
This commit is contained in:
parent
6ed2225a4f
commit
71bb7c0cf2
13
CHANGELOG.md
13
CHANGELOG.md
@ -5,6 +5,19 @@ All notable changes to gostations will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [2.1.1] - 2026-06-07
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Per-favorite volume persistence: the last volume set while playing a station that is in your favorites list is remembered and restored the next time you play that specific favorite. Non-favorited stations continue to use the global last volume (from `radiostations.ini` or the default).
|
||||||
|
- Volumes for favorites are stored inside `favorites.json` (no separate file), using the existing atomic save/load pattern.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Playback entry now prioritizes: per-favorite saved volume (if the station is favorited) > live session volume (for stickiness across `s`/`x` within a run) > global last volume.
|
||||||
|
- Volume changes while playing a favorite also update the per-favorite volume (saved immediately, like global).
|
||||||
|
- Explicit saves of per-favorite volume on `s`/`x` stop and on quit (in addition to per-change saves).
|
||||||
|
|
||||||
|
See the `todo/queued/per-station-volume.md` for implementation details and the narrowed scope (favorited stations only).
|
||||||
|
|
||||||
## [2.1.0] - 2026-06-06
|
## [2.1.0] - 2026-06-06
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
10
README.md
10
README.md
@ -60,7 +60,7 @@ A compact, Winamp-inspired screen:
|
|||||||
- A vertical volume bar to the right of the metadata (dark gray background, green fill from the bottom; same height as the viewer; small gap).
|
- A vertical volume bar to the right of the metadata (dark gray background, green fill from the bottom; same height as the viewer; small gap).
|
||||||
- Keyboard-driven on-screen controls:
|
- Keyboard-driven on-screen controls:
|
||||||
- `←` / `→` (or `h`/`l`) — skip back/forward.
|
- `←` / `→` (or `h`/`l`) — skip back/forward.
|
||||||
- `↑` / `↓` — volume up/down.
|
- `↑` / `↓` — volume up/down (per-favorite volume is restored when starting a favorited station; changes are saved for that favorite).
|
||||||
- `m` / `M` — mute / unmute.
|
- `m` / `M` — mute / unmute.
|
||||||
- `Space` or `p` / `P` — play / pause.
|
- `Space` or `p` / `P` — play / pause.
|
||||||
- `s` / `S` / `x` / `X` — stop playback and return to the station list.
|
- `s` / `S` / `x` / `X` — stop playback and return to the station list.
|
||||||
@ -113,6 +113,8 @@ Notable keys:
|
|||||||
|
|
||||||
Favorites are stored as JSON (`favorites.json`) in the same directory. The TUI prefers loading favorites first when any exist.
|
Favorites are stored as JSON (`favorites.json`) in the same directory. The TUI prefers loading favorites first when any exist.
|
||||||
|
|
||||||
|
Per-favorite volume preferences are also stored in the same `favorites.json` file (only for stations you have explicitly favorited). When you start playback for a favorited station, its last-used volume is restored (falling back to the global last volume or the default). Volume changes while playing a favorite are persisted for that station. Non-favorites always use the global last volume.
|
||||||
|
|
||||||
## Develop (for power users & developers)
|
## Develop (for power users & developers)
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
@ -140,10 +142,10 @@ See the `Makefile` for the exact ldflags, per-platform `go mod download`, and th
|
|||||||
|
|
||||||
### Releasing
|
### Releasing
|
||||||
```bash
|
```bash
|
||||||
./release.sh v2.1.0
|
./release.sh v2.1.1
|
||||||
# or manually
|
# or manually
|
||||||
git tag -a v2.1.0 -m "..."
|
git tag -a v2.1.1 -m "..."
|
||||||
git push origin v2.1.0
|
git push origin v2.1.1
|
||||||
```
|
```
|
||||||
|
|
||||||
`release.sh` does a clean-tree check, creates the annotated tag, optionally runs `grokkit changelog` (best-effort), and pushes. The Gitea Actions workflow (`.gitea/workflows/release.yml`) then:
|
`release.sh` does a clean-tree check, creates the annotated tag, optionally runs `grokkit changelog` (best-effort), and pushes. The Gitea Actions workflow (`.gitea/workflows/release.yml`) then:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user