Rhythmbox
Rhythmbox is a music playing application for GNOME using the GStreamer multimedia framework.
If your packaging system includes GNOME, it likely also includes Rhythmbox. It's also included in the default installation in some Linux distributions.
Development
Rhythmbox is developed on the GNOME GitLab platform and is translated by GNOME translation teams. You can build the current development version of Rhythmbox on any recent operating system that includes GNOME development libraries and tools. A brief overview of the installation requirements is included with the source code.
Contact
Bug reports and feature requests are managed using GitLab issues.
For other types of questions and discussions, use the 'rhythmbox' tag under the 'Applications' category in
GNOME Discourse, or join #gnome-rhythmbox
on the
Libera.Chat IRC network.
Plugins
Rhythmbox can be extended through its plugin system, which loads plugins written in Python and C. Many optional features of the application are built as plugins, and there are many third party plugins available.
Latest releases
3.4.8
Highlights:
- Minor improvement release for 3.4
- Improved support for podcast episode images
- Better handling of the split between Android and MTP plugins
- The long-broken DAAP server now works again
- API documentation now generated by gi-docgen
Issues fixed:
- 1715: Sync fails to create playlist if directory does not exist
- 1828: extdb: support cancellation
- 1832: rhythmbox hangs when it cannot play the file
- 2001: "Access key" string needs a translator comment
- 2050: Orca does not present items in left panel correctly
- 2052: The "rating" widget should not have the "unknown" accessible role
- 2065: Trivial/Clerical fix on debug statement in MTP plugin
- 2066: Pause/Stop button incorrect context (radio stream vs playlist queue)
- 2067: Add Lenovo to android-mtp match/allow-list
- 2072: Incorrect/missing URLs in app metadata
- 2073: Phone not being recognized as Android PTP device
- 2080: cgi module is being deprecated since Python >= 3.13
- 2084: Access to Rhythmbox via DAAP from Android gets "Unable to Connect!"
- 2086: Rhythmbox crashing sync with Android device
Merge requests:
- 27: generic-player: create directory when syncing playlist
- 143: Updates iradio-initial.xspf
- 144: Stronger sanitization for generic player sync
- 153: Convert README and internals documentation to markdown
- 175: build: Define _GNU_SOURCE for pthread_getname_np
- 178: Add missing includes to fix crash with libxml2 2.12
- 179: Appdata related patches
- 180: data: Appdata fixes after Flathub review
- 181: notification: Fix libnotify warning in Flatpak
- 185: context: use html.escape instead of cgi.escape
- 186: Add a "delete file only" option for podcasts.
- 187: Fix strict prototype compiler warning with clang
- 188: Fix Python3 invalid escape sequences.
- 189: appdata: Use rDNS developer name
Translation updates:
- be, courtesy of Yuras Shumovich
- ca, courtesy of Jordi Mas i Hernàndez
- cs, courtesy of Daniel Rusek
- da, courtesy of Alan Mortensen
- de, courtesy of Tim Sabsch
- fi, courtesy of Jiri Grönroos
- hi, courtesy of Scrambled777
- hu, courtesy of Balázs Úr
- id, courtesy of Andika Triwidada
- ka, courtesy of Ekaterine Papava
- kk, courtesy of Baurzhan Muftakhidinov
- lt, courtesy of Aurimas Černius
- lv, courtesy of Rūdolfs Mazurs
- oc, courtesy of Quentin PAGÈS
- pl, courtesy of Piotr Drąg
- pt_BR, courtesy of Juliano de Souza Camargo
- pt, courtesy of Hugo Carvalho
- ro, courtesy of Florentina Mușat
- ru, courtesy of Ser82-png
- sl, courtesy of Martin Srebotnjak
- sv, courtesy of Anders Jonsson
- th, courtesy of Kiatkachorn Ratanatharathorn
- tr, courtesy of Emin Tufan Çetin
- uk, courtesy of Yuri Chornoivan
- zh_CN, courtesy of lumingzh
- zh_TW, courtesy of Cheng-Chia Tseng
3.4.7
Highlights:
- Bug fix release for 3.4
- Requires libsoup 3
- Party mode removed
- debugpy support for Python plugin debugging
Issues fixed:
- 1591: 'Import playlist from file' does not retain playlist file name
- 1818: ListenBrainz: Rhythmbox hangs when blocked by firewall
- 1824: Listenbrainz: ResourceWarning: unclosed <ssl.SSLSocket>
- 1983: podcast: Crashes with SIGSEGV during podcast subscribe
- 1992: AttributeError: 'gi.repository.RB' object has no attribute 'gst_process_embedded_image'
- 1993: test-widgets fails on arm64
- 1996: Port to libsoup3
- 2021: rhythmbox does not support WMA format audio files playing immediately
- 2043: test_rhythmdb_thread_barrier failing in current Ubuntu serie
Merge requests:
- 149: data: Update appdata screenshot to an existing one
- 155: podcast: do not set metadata errors on download status if download is complete
- 156: build: Check that appdata and NEWS get updated on release
- 157: tests: Allow running tests without installed gsettings schemas
- 165: listenbrainz: use LB defined fields for client and source info
- 166: desktop: Remove obsolete Bugzilla entries
- 170: Fix JSON parser leak in audioscrobbler plugin
- 173: build: Use get_variable function instead of running pkg-config
3.4.6
Highlights:
- Bug fix release for 3.4
- Translations actually work this time
- Assorted build system improvements
- DAAP plugin no longer enabled by default
Issues fixed:
- 1972: meson configure fails with -Dlibnotify=disabled
- 1974: rhythmbox: dmap_control_share_stop_lookup(): rhythmbox killed by SIGABRT
- 1988: rb-podcast-parse.c:208:parse_cb: code should not be reached
- 1985: podcast: Episode state changes from "Downloaded" to "Waiting" ( forever )
Merge requests:
- 146: build: Do not set install_rpath
- 148: data: Fix executable path in D-Bus service definition
- 150: build: Update icon cache and schemas on install
- 151: build: Allow all versions of meson
- 152: build: Fix translations not working
Translation updates:
- de, courtesy of Philipp Kiemle
- fr, courtesy of Claude Paroz
- oc, courtesy of Quentin PAGÈS
- tr, courtesy of Sabri Ünal
- vi, courtesy of Trần Ngọc Quân