- Python 99.1%
- Shell 0.6%
- Makefile 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Listens of a ListenBrainz user can be imported from the page's menu. The user name is asked for, the listens are fetched in the background with progress, matched to the library by artist and title, and appended to the history. Listens already recorded near the same time are skipped, and the library's play counts are raised for the matched tracks. When shpost, the poster plugin for Shotwell, is installed too, its genre and discovery posters of the period are rendered from this history and shown small next to the overview title, with a lightbox to look at them large. They are cached until the history changes. The README is shortened and mentions both. |
||
| rhrev | ||
| tests | ||
| .gitignore | ||
| install.sh | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
Listening Review for Rhythmbox
A Rhythmbox plugin that adds a Listening Review page to the sidebar: weekly, monthly and yearly reviews of what you listened to, with covers, and a full-page story that plays through the highlights the way streaming services do their year-end recap
Posters, when shposh a plugin for shotwell is installed too: its posters of the genres and the discoveries of the week, month or year shown. shpost's own shpost-cli renders them from this history, so they are always current; they are kept in ~/.cache/rhrev/posters until the history changes
Install
Needs Rhythmbox 3.x with Python plugin support (on Fedora that is part of the rhythmbox package; on Debian/Ubuntu install rhythmbox-plugins).
./install.sh
Then restart Rhythmbox and enable Listening Review under Plugins. The page shows up under Library in the sidebar.
./install.sh --link symlink instead of copy (for development)
./install.sh --uninstall remove the plugin, keep the history
make dist build dist/rhythmbox-rhrev-1.0.tar.gz to share
make test run the tests
How the history works
Rhythmbox only stores a play count and the last-played time per track, which cannot tell one week from another. The plugin therefore keeps its own history in ~/.local/share/rhythmbox/rhrev/history.db (SQLite). A play is recorded once half of the track, or four minutes, was actually heard; seeking does not count. The metadata is stored with each play, so reviews stay intact when files are retagged, moved or deleted.
On the first start the history is seeded from the library: every track that was played before contributes one play at its last-played time, because that is all the library knows. Reviews get precise from the day the plugin is enabled.
Importing plays from Symfonium
Music listened to on the phone with Symfonium can be added to the history: make a backup in Symfonium, copy it over, and choose ☰ → Import Symfonium backup… on the Listening Review page. The backup's zip archive, its user_data.json, or the unpacked folder.
- Every play of the backup's history is appended with its real date and the time actually listened; skipped tracks are left out
- Tracks are matched to the library by the end of their file path
(
Artist/Album/File), so the music may live in different folders, or come from a WebDAV server, on the phone. Plays of music that is not in the library are kept too, named after their file path - Importing the same or a newer backup again only adds the plays that are new
- Rhythmbox's own play count and last-played time of the tracks are raised accordingly
You can also import your listens from Listenbrainz.