Files
wehub-resource-sync ead81af521
Deploy to GitHub Pages / deploy (push) Failing after 0s
CI / go (push) Has been cancelled
CI / build (darwin, macos-14) (push) Has been cancelled
CI / build (windows, windows-2025) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:31:13 +08:00

56 lines
1.8 KiB
Markdown

# Recently Played
cliamp keeps a local listening history in `~/.config/cliamp/history.toml`. A
play is recorded once you've listened to a track for at least 50% of its
duration — the same threshold Last.fm and the Navidrome scrobbler use, so
skipped tracks never enter the list.
## Browsing in the TUI
Open the **Local Playlists** provider. When at least one play has been
recorded, a virtual `Recently Played` entry appears at the top of the list.
Open it like any other playlist — the tracks are listed newest-first. The list
is read-only: bookmarking, removing tracks, or deleting the playlist itself is
rejected with a clear error.
To clear the list, run `cliamp history clear` (see below).
## CLI
```sh
cliamp history # show the 50 most recent plays
cliamp history --limit 200 # show the 200 most recent
cliamp history --limit 0 # show all (capped at 200 entries on disk)
cliamp history --json # machine-readable output
cliamp history clear # wipe the history file
```
The relative timestamp (`3m ago`, `yesterday`, …) is local time. The JSON
output uses `played_at` in RFC 3339 UTC for portability.
## File format
`history.toml` uses the same minimal TOML dialect as cliamp's local playlists:
```toml
[[entry]]
played_at = "2026-05-06T22:09:11Z"
path = "/home/me/Music/AC-DC/Highway to Hell.flac"
title = "Highway to Hell"
artist = "AC/DC"
album = "Highway to Hell"
year = 1979
duration_secs = 208
```
Entries cap at 200 by default; older plays roll off FIFO. Consecutive replays
of the same track within 5 minutes update the existing top entry's timestamp
rather than duplicating it.
## What is not recorded
- Tracks you skipped before the 50% threshold.
- Live streams without a known duration (radio stations, ICY streams) — there
is no "halfway through" to detect.
- Tracks with empty paths (defensive guard).