Rhythmbox Development

Home · Developers · Screenshots · Wiki

Getting Involved

More information about getting involved with other GNOME apps (and many tips that apply to Rhythmbox) can be found at http://live.gnome.org/GettingInvolved


Building Rhythmbox from Source

You can download the current Rhythmbox source from the GNOME git server, or release tarballs from the GNOME download site.

Before you can build Rhythmbox from a source tarball, or from source checked out from git, you'll need to make sure you have the required development libraries and headers installed. Rhythmbox requires:

Optional packages for additional functionality:


Starting Points

If you don't know what to work on, or you're looking for a small task to get started, take a look at the list of 'gnome-love' bugs and the current GNOME goals. Otherwise, there are enough bugs and feature requests in bugzilla to keep anyone busy.


Plugin Development

Most new self-contained features, such as integration with web services and support for hardware devices, are added to Rhythmbox as plugins. Plugins can be written in C, Python, or Vala. There are sample plugins in the source tree. There's some more information for plugin developers here, and API documentation here.

Plugins can be distributed separately from Rhythmbox itself. If you've written an interesting new plugin, you should consider distributing it yourself, and adding a link to it on the third party plugin list. Plugins written in C and Vala can only be built externally with Rhythmbox 0.13.0 or newer.


Debugging

In most ways, Rhythmbox is a typical GNOME application. There is some information on debugging GTK+ applications here, and instructions for providing stack traces here.

Rhythmbox can provide debug output when invoked with the '-d' command line option, which enables all debug output, or the '-D <match>' option, which enables all debug output from functions and source files containing the match string. When running in a debugger with some debug output enabled, Rhythmbox will also cause the debugger to stop on any GLib warning or critical message.

For more complicated problems, it may be necessary to use the Valgrind tools. Instructions for running these on GNOME applications can be found here.


Translating

Just as many other GNOME applications, Rhythmbox is translated by the GNOME translation team. You can check the translation status here.


Documentation

If you want to write documentation for Rhythmbox, you should join the GNOME Documentation team.