Namespace
RB – 3.0
Programming interfaces available to Rhythmbox plugins.
Dependencies
GObject—2.0 | The base type system library |
Browse documentation | |
Gio—2.0 | GLib I/O library |
Browse documentation | |
Gst—1.0 | GStreamer media framework |
Browse documentation | |
Gtk—3.0 | The GTK toolkit |
Browse documentation |
Classes
Application |
RBApplication contains some interactions with the desktop environment, such as the app menu and processing of files specified on the command line. |
AsyncCopy | |
AutoPlaylistSource |
A playlist populated with the results of a database query. |
BrowserSource |
This class simplifies implementation of sources that include genre/artist/album browsers. It also handles searching (using the search box) and a few other UI niceties. |
ButtonBar | |
CellRendererPixbuf |
This is similar to |
CellRendererRating |
This cell renderer is used to display song ratings in the |
ChunkLoader | |
DisplayPage |
This is the base class for items that appear in the display page tree and can occupy the main display area. Sources and source groups are display pages. Other types of display, such as music visualization, could be implemented as display pages too. |
DisplayPageGroup |
Page groups define sections of the display page tree. A page group consists of an internal name, a display name, and a category. The internal name can be used to locate a registered page group. The category is used to sort the page groups. |
DisplayPageModel |
The |
DisplayPageTree |
The display page tree widget is a GtkTreeView backed by a GtkListStore containing the display page instances (sources and other things). Display pages include sources, such as the library and playlists, and other things like the visualization display. |
EncoderFactory | |
EntryView |
This class provides a predefined set of columns for displaying the
common set of |
ExtDB |
This class simplifies searching for and providing external metadata such as album art or lyrics. A metadata provider connects to a signal on the database and in response provides a URI, a buffer containing the data, or an object representation of the data (such as a GdkPixbuf). A metadata requestor calls rb_ext_db_request and specifies a callback, or alternatively connects to a signal to receive all metadata as it is stored. |
FadingImage |
This widget displays images, performing a simple fade transition between them. It also emits signals when URIs or pixbufs are dropped onto it. |
History |
RBHistory is a GSequence that maintains a “current” pointer and can delete an arbitrary element in amortized O(log(N)) time. It can call a deletion callback when it removes one of its entries. |
LibraryBrowser |
This widget contains a set of |
ListModel |
Stores a list of items and emits notification signals on changes. |
MediaPlayerEntryType | |
MediaPlayerSource | |
MetaData |
Provides a simple synchronous interface for metadata extraction and updating. |
PlaylistManager |
The playlist manager loads and saves the on-disk playlist file, provides UI actions and a DBus interface for dealing with playlists, and internal interfaces for creating playlists. |
PlaylistSource |
This class provides some common infrastructure for playlist sources. A playlist, in this context, is a persistent user-defined selection from a set of songs. Playlists (static and auto) based on the main library are saved to the playlists.xml file stored alongside the rhythmdb.xml file. Playlists on portable music players are saved on the device in the format the player itself supports. |
PlayOrder |
A play order defines an ordering of the entries from a |
PodcastManager | |
PodcastSearch | |
PodcastSearchITunes | |
PropertyView |
A simple |
Rating |
This widget displays a rating (0-5 stars) and allows the user to alter the rating by clicking. |
RemovableMediaManager |
The removable media manager maintains the mapping between GIO GVolume and GMount objects and rhythmbox sources. |
RhythmDB |
RhythmDB is an in-memory database containing |
RhythmDBEntryType |
This is the base class for database entry type classes, which provide some aspects of the behaviour of database entry types. There are different entry types for songs, radio streams, podcast feeds and episodes, and so on. |
RhythmDBImportJob |
Tracks the addition to the database of files under a set of directories, providing status information. |
RhythmDBPropertyModel |
A RhythmDBPropertyModel groups the entries in a |
RhythmDBQueryModel |
A RhythmDBQueryModel contains an ordered set of |
RhythmDBQueryResultList | |
SearchEntry |
The search entry contains a label and a text entry box. The text entry box contains an icon that acts as a ‘clear’ button. |
SegmentedBar | |
Shell |
RBShell is the main application class in Rhythmbox. It creates and holds
references to the other main objects ( |
ShellPlayer |
The shell player (or player shell, depending on who you’re talking to)
manages the |
ShellPreferences |
The preferences dialog is built around a |
SongInfo |
Displays song properties and, if we know how to edit tags in the file, allows the user to edit them. |
Source |
This class provides methods for requesting information
about the UI capabilities of the source, and defines the
expectations that apply to all sources - that they will
provide |
SourceSearch |
These translate the text in the search entry box into a RhythmDBQuery. The basic implementation will return a query like RHYTHMDB_QUERY_PROP_LIKE, RHYTHMDB_PROP_SEARCH_MATCH, text. Simple variants can restrict the search to single properties (artist, album, genre). More complicated searches could implement something like the Xesam User Query spec. |
SourceSearchBasic |
This implementation of |
SourceToolbar |
This class combines a toolbar for custom source actions with a
search entry. The toolbar content is specified using a UI path.
The |
StaticPlaylistSource |
Static playlists are not defined by a query, but instead by manually selected and ordered tracks. |
StreamingSource |
This class provides handling of buffering signals and streaming song metadata common to different types of sources that play continuous streaming media. |
StringValueMap |
Simplifies the use of string:GValue maps with respect to copying of the values inserted into the map. Except for rb_string_value_map_peek, the caller retains ownership of values passed in, and assumes ownership of all values returned. |
TaskList | |
TaskProgressSimple |
This implementation of |
TrackTransferBatch |
Manages the transfer of a set of tracks (using |
TrackTransferQueue | |
URIDialog |
A simple dialog used to request a single URI from the user. |
Interfaces
DeviceSource |
Sources that represent physical devices should implement this interface.
It exposes the ability to eject the device, and also can be used to
implement some |
Encoder |
The RBEncoder interface provides transcoding between audio formats based on encoding profiles. The encoder implementation operates asynchronously and provides status updates in the form of signals emitted on the main thread. A new encoder instance should be created for each file that is transcoded or copied. |
Player |
This is the interface implemented by the rhythmbox playback backends. It allows the caller to control playback (open, play, pause, close), seek (set_time), control volume (get_volume, set_volume) and receive playback state information (get_time, various signals). |
PlayerGstFilter |
This interface allows a caller to add filter elements to the GStreamer playback pipeline. |
PlayerGstTee |
This interface allows a caller to add a new sink to the GStreamer playback pipeline. |
RhythmDBQueryResults |
This is the interface that |
TaskProgress | |
TransferTarget |
Sources that can accept track transfers should implement this interface
and call the associated functions to perform transfers. The source
needs to be able to construct target URIs for transfers, and can optionally
perform its own processing after transfers have finished. The source
must also provide a |
Structs
ExtDBKey |
An external metadata key consists of one or more required fields (such as the album name for album art lookups), zero or more optional fields (such as the artist name), and zero or more informational fields (such as the musicbrainz album ID). |
PodcastChannel | |
PodcastItem | |
Profiler | |
RefString | |
RhythmDBEntry | |
RhythmDBEntryChange | |
RhythmDBQueryData |
Enumerations
DisplayPageGroupCategory | |
DisplayPageGroupType |
Predefined categories of page group. The order they’re defined here is the order they appear in the page tree. |
DisplayPageModelColumn |
Columns present in the display page model. |
EntryViewColumn |
Predefined column types to use in rb_entry_view_append_column to add these to an entry view.The predefined column names map directly to the |
EntryViewState | |
ExtDBSourceType | |
GstMediaType | |
MetaDataError | |
MetaDataField |
Metadata fields that can be read from and written to files. |
MetadataFieldType | |
PlayerPlayType | |
PlaylistExportType | |
PlaylistManagerError | |
PodcastFeedUpdateStatus | |
PodcastParseStatus | |
RhythmDBEntryAvailability |
Various events that can result in changes to the entry’s availability. |
RhythmDBEntryCategory |
Categories used to group entry types. These are used in a few places to control handling of entries. |
RhythmDBError | |
RhythmDBPropertyModelColumn | |
RhythmDBPropType | |
RhythmDBQueryModelLimitType | |
RhythmDBQueryType | |
ShellActivationType | |
ShellError | |
ShellPrefsUILocation |
Locations available for adding new widgets to the preferences dialog. |
ShellUILocation | |
SourceEOFType | |
SourceLoadStatus | |
TaskOutcome |
Callbacks
Functions
assert_locked |
Asserts that |
builder_boldify_label |
Makes a label built from a GtkBuilder file bold. |
builder_load |
Locates and reads a GtkBuilder file, automatically connecting signal handlers where possible. |
builder_load_plugin_file |
Like #rb_builder_load, except it finds files associated with plugins as well as those in the core data directories. |
canonicalise_uri |
Converts |
check_dir_has_space |
Checks that the filesystem holding |
check_dir_has_space_uri |
Checks that the filesystem holding |
collate_hash_table_keys |
Returns a |
collate_hash_table_values |
Returns a |
combo_box_hyphen_separator_func |
A row separator function to use for GtkComboBox widgets. It expects the model to contain a string in its first column, and interprets a string containing a single hyphen character as a separator. |
compare_gtimeval |
Compares two |
copy_function |
Just returns its first argument. Useful as a callback function. |
debug_get_args |
Constructs arguments to pass to another process using this debug output code that will produce the same debug output settings. |
debug_init |
Sets up debug output, with either all debug enabled or none. |
debug_init_match |
Sets up debug output, enabling debug output from file and function names that contain the specified match string. |
debug_matches |
Checks if |
debug_real |
If the debug output settings match the function or file names, the debug message will be formatted and written to standard error. |
debug_realf |
If the debug output settings match the function or file names, the debug message will be formatted and written to standard error. |
debug_stop_in_debugger |
Raises a SIGINT signal to get the attention of the debugger. When not running under the debugger, we don’t want to stop, so we ignore the signal for just the moment that we raise it. |
error_dialog |
Creates and displays a simple error dialog box containing a primary message in bold, larger type and a secondary message in the regular font. Both the primary and secondary message strings should be translated. |
false_function |
Just returns |
file |
Searches for an installed file, returning the full path name if found, NULL otherwise. |
file_chooser_new |
Creates and shows a regular gtk+ file chooser dialog with a given title. The user’s music directory (typically ~/Music) is added as a shortcut. |
file_find_extant_parent |
Walks up the filesystem hierarchy to find a |
file_helpers_init |
Sets up file search paths for |
file_helpers_shutdown |
Frees various data allocated by file helper functions. Should be called on shutdown. |
file_resolve_symlink |
Attempts to resolve symlinks leading to |
find_plugin_data_file |
Locates a file under the plugin’s data directory. |
find_plugin_resource |
Constructs a resource path for a plugin data file. |
find_user_cache_file |
Determines the full path to use for user-specific cached files within the user cache directory. |
find_user_data_file |
Determines the full path to use for user-specific files, such as rhythmdb.xml,
within the user data directory (see |
gst_add_filter |
Inserts a filter into the filter bin, using pad blocking (if requested) to avoid breaking the data flow. Pad blocking should be used when the pipeline is in PLAYING state, or when in PAUSED state where a streaming thread will be holding the stream lock for the filter bin. |
gst_add_tee |
Attaches a branch to the tee, using pad blocking (if requested) to avoid breaking the data flow. Pad blocking should be used when the pipeline is in PLAYING state, or when in PAUSED state where a streaming thread will be holding the stream lock for the filter bin. |
gst_caps_to_media_type | |
gst_create_filter_bin |
Creates an initial bin to use for dynamically plugging filter elements into the pipeline. |
gst_encoder_set_encoding_style | |
gst_encoding_profile_get_encoder | |
gst_encoding_profile_get_encoder_caps | |
gst_encoding_profile_get_media_type | |
gst_encoding_profile_get_presets | |
gst_encoding_profile_get_settings |
Returns a list of settings for the profile |
gst_encoding_profile_set_preset |
Applies the preset |
gst_error_get_error_code |
Maps a GStreamer error to an |
gst_get_default_encoding_target | |
gst_get_encoding_profile | |
gst_get_missing_plugin_type | |
gst_media_type_is_lossless | |
gst_media_type_matches_profile | |
gst_media_type_to_caps | |
gst_media_type_to_extension | |
gst_media_type_to_mime_type | |
gst_mime_type_to_media_type | |
gst_process_embedded_image |
Converts embedded image data extracted from a tag list into
a |
gst_process_tag_string |
Processes a tag string, determining the metadata field identifier corresponding to the tag name, and converting the tag data into the appropriate value type. |
gst_remove_filter |
Removes a filter from the filter bin, using pad blocking (if requested) to avoid breaking the data flow. Pad blocking should be used when the pipeline is in PLAYING state, or when in PAUSED state where a streaming thread will be holding the stream lock for the filter bin. |
gst_remove_tee |
Removes a branch from the tee, using pad blocking (if requested) to avoid breaking the data flow. Pad blocking should be used when the pipeline is in PLAYING state, or when in PAUSED state where a streaming thread will be holding the stream lock for the filter bin. |
gvalue_compare |
Compares |
is_main_thread |
Checks if currently executing on the main thread. |
list_deep_free |
Frees each element of |
list_destroy_free |
Calls |
locale_dir |
Returns the locale directory identified at build configuration time. |
make_duration_string |
Constructs a string describing the specified duration. The string describes hours, minutes, and seconds, and its format is localised. |
make_elapsed_time_string |
Constructs a string describing a playback position. The string describes hours, minutes, and seconds, and its format is localised. The string can describe either the elapsed time or the time remaining. |
make_time_string |
Constructs a string describing the specified time. |
menu_update_link |
Updates a submenu link to point to the specified target menu. |
music_dir |
Returns the default directory for the user’s music library. This will usually be the ‘Music’ directory under the home directory. |
null_function |
Just returns NULL. Useful as a callback function. |
podcast_parse_channel_copy | |
podcast_parse_channel_new | |
podcast_parse_channel_ref | |
podcast_parse_channel_unref | |
podcast_parse_error_quark | |
podcast_parse_item_copy | |
podcast_parse_item_free | |
podcast_parse_load_feed | |
rhythmbox_get_resource | |
rhythmdb_query_get_type | |
safe_strcmp | |
sanitize_path_for_msdos_filesystem |
Modifies |
sanitize_uri_for_filesystem |
Removes characters from |
scale_pixbuf_to_size |
Creates a new |
search_fold |
Returns a case-folded and punctuation-stripped version of |
set_tree_view_column_fixed_width |
Sets a fixed size for a tree view column based on a set of strings to be displayed in the column. |
settings_delayed_sync |
Synchronizes settings in the |
signal_accumulator_boolean_or |
A |
signal_accumulator_object_handled |
A |
signal_accumulator_value_array |
A |
signal_accumulator_value_handled |
A |
slist_deep_free |
Frees each element of |
stock_icons_init |
Initializes the stock icons, adding the necessary filesystem locations to the GTK icon search path. Must be called on startup. |
stock_icons_shutdown |
If anything was necessary to clean up the stock icons, this function would do it. Doesn’t do anything, but should be called on shutdown anyway. |
str_in_strv |
Checks if |
string_list_contains |
Checks if |
string_list_copy |
Creates a deep copy of |
string_list_equal |
Checks if |
string_split_words |
Splits |
threads_init |
Initializes various thread helpers. Must be called on startup. |
true_function |
Just returns |
uri_append_path |
Creates a new URI consisting of |
uri_append_uri |
Creates a new URI consisting of |
uri_could_be_podcast |
Checks if |
uri_create_parent_dirs |
Ensures that all parent directories of |
uri_exists |
Checks if a URI identifies a resource that exists. |
uri_get_dir_name |
Returns the directory component of |
uri_get_filesystem_type |
Returns a string describing the type of the filesystem containing |
uri_get_mount_point |
Returns the mount point of the filesystem holding |
uri_get_short_path_name |
Returns the filename component of |
uri_handle_recursively |
Calls |
uri_handle_recursively_async |
Calls |
uri_is_descendant |
Checks if |
uri_is_directory |
Checks if |
uri_is_hidden |
Checks if |
uri_is_local |
Checks if |
uri_is_readable |
Checks if the user can read the resource identified by |
uri_is_writable |
Checks if the user can write to the resource identified by |
uri_list_parse |
Converts a single string containing a list of URIs into
a |
uri_make_hidden |
Constructs a URI that is similar to |
uri_mkstemp |
Creates a temporary file whose URI begins with |
uri_resolve_symlink |
Attempts to resolve symlinks in |
user_cache_dir |
This will create the rhythmbox user cache directory, using the XDG Base Directory specification. If none of the XDG environment variables are set, this will be ~/.cache/rhythmbox. |
user_data_dir |
This will create the rhythmbox user data directory, using the XDG Base Directory specification. If none of the XDG environment variables are set, this will be ~/.local/share/rhythmbox. |
value_array_append_data |
Appends a single value to |
value_free |
Unsets and frees |
Function Macros
CHAIN_GOBJECT_METHOD | |
METADATA | |
METADATA_CLASS | |
profile_end |
Records an end point for profiling. See |
profile_start |
Records a start point for profiling. This profile mechanism operates by issuing file access requests with filenames indicating the profile points. Use ‘strace -e access’ to gather this information. |
RHYTHMDB | |
RHYTHMDB_CLASS | |
RHYTHMDB_ENTRY | |
RHYTHMDB_ENTRY_TYPE | |
RHYTHMDB_ENTRY_TYPE_CLASS | |
RHYTHMDB_IMPORT_JOB | |
RHYTHMDB_IMPORT_JOB_CLASS | |
RHYTHMDB_PROPERTY_MODEL | |
RHYTHMDB_PROPERTY_MODEL_CLASS | |
RHYTHMDB_QUERY | |
RHYTHMDB_QUERY_MODEL | |
RHYTHMDB_QUERY_MODEL_CLASS | |
RHYTHMDB_QUERY_RESULT_LIST | |
RHYTHMDB_QUERY_RESULT_LIST_CLASS | |
RHYTHMDB_QUERY_RESULTS | |
URI_DIALOG | |
URI_DIALOG_CLASS |