diff --git a/backends/gstreamer/rb-player-gst-helper.c b/backends/gstreamer/rb-player-gst-helper.c index 5ff2db549..ae7c263d6 100644 --- a/backends/gstreamer/rb-player-gst-helper.c +++ b/backends/gstreamer/rb-player-gst-helper.c @@ -46,6 +46,15 @@ typedef struct { gboolean linking; } RBGstPipelineOp; +/** + * rb_player_gst_try_audio_sink: + * @plugin_name: audio sink plugin name + * @name: name to give to the element + * + * Creates and tests an instance of the specified audio sink. + * + * Return value: (transfer full): element instance, or NULL + */ GstElement * rb_player_gst_try_audio_sink (const char *plugin_name, const char *name) { @@ -115,6 +124,15 @@ find_property_element (const GValue * value, const char *property) return res; } +/** + * rb_player_gst_find_element_with_property: + * @element: element to search + * @property: name of property to search for + * + * Finds an element inside @element that has a property with the specified name. + * + * Return value: (transfer full): element instance, or NULL if not found + */ GstElement * rb_player_gst_find_element_with_property (GstElement *element, const char *property) { @@ -401,7 +419,7 @@ pipeline_op (GObject *player, * Creates an initial bin to use for dynamically plugging filter elements into the * pipeline. * - * Return value: filter bin + * Return value: (transfer full): filter bin */ GstElement * rb_gst_create_filter_bin () diff --git a/bindings/gi/Makefile.am b/bindings/gi/Makefile.am index bf5b19cd8..ed5736989 100644 --- a/bindings/gi/Makefile.am +++ b/bindings/gi/Makefile.am @@ -46,6 +46,8 @@ rb_introspection_sources = \ lib/rb-debug.c \ lib/rb-file-helpers.h \ lib/rb-file-helpers.c \ + lib/rb-list-model.h \ + lib/rb-list-model.c \ lib/rb-stock-icons.h \ lib/rb-stock-icons.c \ lib/rb-string-value-map.h \ @@ -66,6 +68,8 @@ rb_introspection_sources = \ podcast/rb-podcast-manager.c \ podcast/rb-podcast-parse.h \ podcast/rb-podcast-parse.c \ + podcast/rb-podcast-search.h \ + podcast/rb-podcast-search.c \ rhythmdb/rhythmdb.h \ rhythmdb/rhythmdb.c \ rhythmdb/rhythmdb-entry.h \ diff --git a/lib/rb-debug.c b/lib/rb-debug.c index 7dbce0913..7f76de8b5 100644 --- a/lib/rb-debug.c +++ b/lib/rb-debug.c @@ -307,7 +307,7 @@ struct RBProfiler }; /** - * rb_profiler_new: (skip): + * rb_profiler_new: (skip) * @name: profiler name * * Creates a new profiler instance. This can be used to @@ -333,7 +333,7 @@ rb_profiler_new (const char *name) } /** - * rb_profiler_dump: (skip): + * rb_profiler_dump: (skip) * @profiler: profiler instance * * Produces debug output for the profiler instance, @@ -357,7 +357,7 @@ rb_profiler_dump (RBProfiler *profiler) } /** - * rb_profiler_reset: (skip): + * rb_profiler_reset: (skip) * @profiler: profiler instance * * Resets the elapsed time for the profiler @@ -374,7 +374,7 @@ rb_profiler_reset (RBProfiler *profiler) } /** - * rb_profiler_free: (skip): + * rb_profiler_free: (skip) * @profiler: profiler instance to destroy * * Frees the memory associated with a profiler instance. diff --git a/lib/rb-list-model.c b/lib/rb-list-model.c index b13219af8..ab237a29f 100644 --- a/lib/rb-list-model.c +++ b/lib/rb-list-model.c @@ -148,7 +148,7 @@ rb_list_model_n_items (RBListModel *model) * * Returns an item from the list. * - * Return value: item at the specified index + * Return value: (transfer none): item at the specified index */ gpointer rb_list_model_get (RBListModel *model, int index) diff --git a/lib/rb-util.c b/lib/rb-util.c index ab86a898e..7a656944a 100644 --- a/lib/rb-util.c +++ b/lib/rb-util.c @@ -52,7 +52,7 @@ static GPrivate private_is_primary_thread; /** - * rb_true_function: (skip): + * rb_true_function: (skip) * @dummy: unused * * Just returns %TRUE, useful as a callback function. @@ -66,7 +66,7 @@ rb_true_function (gpointer dummy) } /** - * rb_false_function: (skip): + * rb_false_function: (skip) * @dummy: unused * * Just returns %FALSE, useful as a callback function. @@ -80,7 +80,7 @@ rb_false_function (gpointer dummy) } /** - * rb_null_function: (skip): + * rb_null_function: (skip) * @dummy: unused * * Just returns NULL. Useful as a callback function. @@ -94,7 +94,7 @@ rb_null_function (gpointer dummy) } /** - * rb_copy_function: (skip): + * rb_copy_function: (skip) * @data: generic argument * * Just returns its first argument. Useful as a callback function. @@ -109,7 +109,7 @@ rb_copy_function (gpointer data) /** - * rb_gvalue_compare: (skip): + * rb_gvalue_compare: (skip) * @a: left hand side * @b: right hand size * @@ -418,7 +418,7 @@ _threads_leave (void) /** - * rb_assert_locked: (skip): + * rb_assert_locked: (skip) * @mutex: a #GMutex * * Asserts that @mutex is currently locked. Does not work with all @@ -432,7 +432,7 @@ rb_assert_locked (GMutex *mutex) } /** - * rb_threads_init: (skip): + * rb_threads_init: (skip) * * Initializes various thread helpers. Must be called on startup. */ @@ -752,7 +752,7 @@ rb_make_elapsed_time_string (guint elapsed, guint duration, gboolean show_remain } /** - * rb_string_list_equal: (skip): + * rb_string_list_equal: (skip) * @a: (element-type utf8): list of strings to compare * @b: (element-type utf8): other list of strings to compare * @@ -807,7 +807,7 @@ list_copy_cb (const char *s, GList **list) } /** - * rb_string_list_copy: (skip): + * rb_string_list_copy: (skip) * @list: (element-type utf8): list of strings to copy * * Creates a deep copy of @list. @@ -829,7 +829,7 @@ rb_string_list_copy (GList *list) } /** - * rb_string_list_contains: (skip): + * rb_string_list_contains: (skip) * @list: (element-type utf8) list to check * @s: string to check for * @@ -851,7 +851,7 @@ rb_string_list_contains (GList *list, const char *s) } /** - * rb_list_destroy_free: (skip): + * rb_list_destroy_free: (skip) * @list: list to destroy * @destroyer: function to call to free elements of @list * @@ -865,7 +865,7 @@ rb_list_destroy_free (GList *list, GDestroyNotify destroyer) } /** - * rb_list_deep_free: (skip): + * rb_list_deep_free: (skip) * @list: (element-type any) (transfer full): list to free * * Frees each element of @list and @list itself. @@ -877,7 +877,7 @@ rb_list_deep_free (GList *list) } /** - * rb_slist_deep_free: (skip): + * rb_slist_deep_free: (skip) * @list: (element-type any) (transfer full): list to free * * Frees each element of @list and @list itself. @@ -902,7 +902,7 @@ collate_values_cb (gpointer key, gpointer value, GList **list) } /** - * rb_collate_hash_table_keys: (skip): + * rb_collate_hash_table_keys: (skip) * @table: #GHashTable to collate * * Returns a #GList containing all keys from @table. The keys are @@ -922,7 +922,7 @@ rb_collate_hash_table_keys (GHashTable *table) } /** - * rb_collate_hash_table_values: (skip): + * rb_collate_hash_table_values: (skip) * @table: #GHashTable to collate * * Returns a #GList containing all values from @table. The values are @@ -993,7 +993,7 @@ rb_uri_list_parse (const char *uri_list) } /** - * rb_signal_accumulator_object_handled: (skip): + * rb_signal_accumulator_object_handled: (skip) * @hint: a #GSignalInvocationHint * @return_accu: holds the accumulated return value * @handler_return: holds the return value to be accumulated @@ -1025,7 +1025,7 @@ rb_signal_accumulator_object_handled (GSignalInvocationHint *hint, } /** - * rb_signal_accumulator_value_handled: (skip): + * rb_signal_accumulator_value_handled: (skip) * @hint: a #GSignalInvocationHint * @return_accu: holds the accumulated return value * @handler_return: holds the return value to be accumulated @@ -1057,7 +1057,7 @@ rb_signal_accumulator_value_handled (GSignalInvocationHint *hint, } /** - * rb_signal_accumulator_value_array: (skip): + * rb_signal_accumulator_value_array: (skip) * @hint: a #GSignalInvocationHint * @return_accu: holds the accumulated return value * @handler_return: holds the return value to be accumulated @@ -1104,7 +1104,7 @@ rb_signal_accumulator_value_array (GSignalInvocationHint *hint, } /** - * rb_signal_accumulator_boolean_or: (skip): + * rb_signal_accumulator_boolean_or: (skip) * @hint: a #GSignalInvocationHint * @return_accu: holds the accumulated return value * @handler_return: holds the return value to be accumulated @@ -1134,7 +1134,7 @@ rb_signal_accumulator_boolean_or (GSignalInvocationHint *hint, } /** - * rb_value_array_append_data: (skip): + * rb_value_array_append_data: (skip) * @array: #GArray to append to * @type: #GType of the value being appended * @Varargs: value to append @@ -1162,7 +1162,7 @@ rb_value_array_append_data (GArray *array, GType type, ...) } /** - * rb_value_free: (skip): + * rb_value_free: (skip) * @val: (transfer full): a #GValue * * Unsets and frees @val. @val must have been allocated using @@ -1176,7 +1176,7 @@ rb_value_free (GValue *val) } /** - * rb_str_in_strv: (skip): + * rb_str_in_strv: (skip) * @needle: string to search for * @haystack: array of strings to search * diff --git a/metadata/rb-ext-db-key.c b/metadata/rb-ext-db-key.c index 2aec9500b..6b0c7cba9 100644 --- a/metadata/rb-ext-db-key.c +++ b/metadata/rb-ext-db-key.c @@ -541,9 +541,9 @@ create_store_key (RBExtDBKey *key, int option, TDB_DATA *data) } /** - * rb_ext_db_key_lookups: (skip): + * rb_ext_db_key_lookups: * @key: a #RBExtDBKey - * @callback: a callback to process lookup keys + * @callback: (scope call): a callback to process lookup keys * @user_data: data to pass to @callback * * Generates the set of possible lookup keys for @key and @@ -577,7 +577,7 @@ rb_ext_db_key_lookups (RBExtDBKey *key, } /** - * rb_ext_db_key_to_store_key: (skip): + * rb_ext_db_key_to_store_key: (skip) * @key: a @RBExtDBKey * * Generates the storage key for @key. This is the value that should diff --git a/metadata/rb-ext-db.c b/metadata/rb-ext-db.c index 63c8f7b6d..52773b106 100644 --- a/metadata/rb-ext-db.c +++ b/metadata/rb-ext-db.c @@ -467,6 +467,8 @@ rb_ext_db_class_init (RBExtDBClass *klass) * Emitted when a metadata item needs to be written to a local file. * This only needs to be used for metadata that needs to be encoded * or compressed, such as images. + * + * Return value: (transfer full): the value to write to a file */ signals[STORE] = g_signal_new ("store", @@ -482,6 +484,8 @@ rb_ext_db_class_init (RBExtDBClass *klass) * * Emitted when loading a metadata item from a local file or from a * URI. + * + * Return value: (transfer full): converted value */ signals[LOAD] = g_signal_new ("load", diff --git a/podcast/rb-podcast-manager.c b/podcast/rb-podcast-manager.c index 155bbc80c..7b5031dd4 100644 --- a/podcast/rb-podcast-manager.c +++ b/podcast/rb-podcast-manager.c @@ -2279,6 +2279,14 @@ rb_podcast_manager_add_search (RBPodcastManager *pd, GType search_type) pd->priv->searches = g_list_append (pd->priv->searches, GUINT_TO_POINTER (search_type)); } +/** + * rb_podcast_manager_get_searches: + * @pd: the #RBPodcastManager + * + * Returns the list of podcast searches + * + * Return value: (element-type RB.PodcastSearch) (transfer container): list of search instances + */ GList * rb_podcast_manager_get_searches (RBPodcastManager *pd) { diff --git a/rhythmdb/rhythmdb-entry-type.c b/rhythmdb/rhythmdb-entry-type.c index 1abe00c7b..f864e34b7 100644 --- a/rhythmdb/rhythmdb-entry-type.c +++ b/rhythmdb/rhythmdb-entry-type.c @@ -187,7 +187,7 @@ rhythmdb_entry_can_sync_metadata (RhythmDBEntry *entry) /** * rhythmdb_entry_sync_metadata: * @entry: a #RhythmDBEntry - * @changes: a list of #RhythmDBEntryChange structures + * @changes: (element-type RB.RhythmDBEntryChange): a list of #RhythmDBEntryChange structures * @error: returns error information * * Calls the entry type's method to sync metadata changes for @entry. diff --git a/rhythmdb/rhythmdb-query-model.c b/rhythmdb/rhythmdb-query-model.c index acbe5d991..193fa1319 100644 --- a/rhythmdb/rhythmdb-query-model.c +++ b/rhythmdb/rhythmdb-query-model.c @@ -800,7 +800,7 @@ rhythmdb_query_model_finalize (GObject *object) } /** - * rhythmdb_query_model_new: + * rhythmdb_query_model_new: (skip) * @db: the #RhythmDB * @query: the query for the new model * @sort_func: the sort function for the new model diff --git a/rhythmdb/rhythmdb-query-results.c b/rhythmdb/rhythmdb-query-results.c index 8c03fad71..90a7cab4b 100644 --- a/rhythmdb/rhythmdb-query-results.c +++ b/rhythmdb/rhythmdb-query-results.c @@ -66,7 +66,7 @@ rhythmdb_query_results_get_type (void) } /** - * rhythmdb_query_results_set_query: + * rhythmdb_query_results_set_query: (skip) * @results: the #RhythmDBQueryResults implementation * @query: the new query * @@ -87,7 +87,7 @@ rhythmdb_query_results_set_query (RhythmDBQueryResults *results, /** * rhythmdb_query_results_add_results: * @results: the #RhythmDBQueryResults implementation - * @entries: #GPtrArray containing #RhythmDBEntry results + * @entries: (element-type RB.RhythmDBEntry): #GPtrArray containing #RhythmDBEntry results * * Provides a new set of query results. References must be taken on the * entries. diff --git a/rhythmdb/rhythmdb.c b/rhythmdb/rhythmdb.c index 3ead1a1f0..10cc3a0cc 100644 --- a/rhythmdb/rhythmdb.c +++ b/rhythmdb/rhythmdb.c @@ -406,7 +406,7 @@ rhythmdb_class_init (RhythmDBClass *klass) * RhythmDB::entry-changed: * @db: the #RhythmDB * @entry: the changed #RhythmDBEntry - * @changes: a #GArray of #RhythmDBEntryChange structures describing the changes + * @changes: (element-type RB.RhythmDBEntryChange): a #GArray of #RhythmDBEntryChange structures describing the changes * * Emitted when a database entry is modified. The @changes list * contains a structure for each entry property that has been modified. @@ -5236,7 +5236,7 @@ rhythmdb_entry_keywords_get (RhythmDB *db, * rhythmdb_entry_write_metadata_changes: * @db: the #RhythmDB * @entry: the #RhythmDBEntry to update - * @changes: a list of changes to write + * @changes: (element-type RB.RhythmDBEntryChange): a list of changes to write * @error: returns error information * * This can be called from a #RhythmDBEntryType sync_metadata function diff --git a/shell/rb-application.c b/shell/rb-application.c index ad3b4d767..11945ad0b 100644 --- a/shell/rb-application.c +++ b/shell/rb-application.c @@ -586,7 +586,7 @@ rb_application_new (void) /** * rb_application_run: - * @rb: the application instance + * @app: the application instance * @argc: arg count * @argv: arg values * @@ -595,7 +595,7 @@ rb_application_new (void) * Return value: exit code */ int -rb_application_run (RBApplication *rb, int argc, char **argv) +rb_application_run (RBApplication *app, int argc, char **argv) { GOptionContext *context; gboolean debug = FALSE; @@ -605,18 +605,18 @@ rb_application_run (RBApplication *rb, int argc, char **argv) GError *error = NULL; - g_application_set_default (G_APPLICATION (rb)); - rb->priv->autostarted = (g_getenv ("DESKTOP_AUTOSTART_ID") != NULL); + g_application_set_default (G_APPLICATION (app)); + app->priv->autostarted = (g_getenv ("DESKTOP_AUTOSTART_ID") != NULL); const GOptionEntry options [] = { { "debug", 'd', 0, G_OPTION_ARG_NONE, &debug, N_("Enable debug output"), NULL }, { "debug-match", 'D', 0, G_OPTION_ARG_STRING, &debug_match, N_("Enable debug output matching a specified string"), NULL }, - { "no-update", 0, 0, G_OPTION_ARG_NONE, &rb->priv->no_update, N_("Do not update the library with file changes"), NULL }, - { "no-registration", 'n', 0, G_OPTION_ARG_NONE, &rb->priv->no_registration, N_("Do not register the shell"), NULL }, - { "dry-run", 0, 0, G_OPTION_ARG_NONE, &rb->priv->dry_run, N_("Don't save any data permanently (implies --no-registration)"), NULL }, - { "disable-plugins", 0, 0, G_OPTION_ARG_NONE, &rb->priv->disable_plugins, N_("Disable loading of plugins"), NULL }, - { "rhythmdb-file", 0, 0, G_OPTION_ARG_STRING, &rb->priv->rhythmdb_file, N_("Path for database file to use"), NULL }, - { "playlists-file", 0, 0, G_OPTION_ARG_STRING, &rb->priv->playlists_file, N_("Path for playlists file to use"), NULL }, + { "no-update", 0, 0, G_OPTION_ARG_NONE, &app->priv->no_update, N_("Do not update the library with file changes"), NULL }, + { "no-registration", 'n', 0, G_OPTION_ARG_NONE, &app->priv->no_registration, N_("Do not register the shell"), NULL }, + { "dry-run", 0, 0, G_OPTION_ARG_NONE, &app->priv->dry_run, N_("Don't save any data permanently (implies --no-registration)"), NULL }, + { "disable-plugins", 0, 0, G_OPTION_ARG_NONE, &app->priv->disable_plugins, N_("Disable loading of plugins"), NULL }, + { "rhythmdb-file", 0, 0, G_OPTION_ARG_STRING, &app->priv->rhythmdb_file, N_("Path for database file to use"), NULL }, + { "playlists-file", 0, 0, G_OPTION_ARG_STRING, &app->priv->playlists_file, N_("Path for playlists file to use"), NULL }, { NULL } }; @@ -641,9 +641,9 @@ rb_application_run (RBApplication *rb, int argc, char **argv) else rb_debug_init (debug); - g_object_set (rb, "register-session", !rb->priv->no_registration, NULL); + g_object_set (app, "register-session", !app->priv->no_registration, NULL); - return g_application_run (G_APPLICATION (rb), nargc, nargv); + return g_application_run (G_APPLICATION (app), nargc, nargv); } /** @@ -680,7 +680,7 @@ rb_application_get_shared_menu (RBApplication *app, const char *name) /** * rb_application_get_plugin_menu: * @app: the application instance - * @name: name of plugin menu to return + * @menu: name of plugin menu to return * * Returns a plugin menu instance. Plugin menus are like shared menus except * they are created empty on first access, and they consist solely of entries @@ -689,18 +689,18 @@ rb_application_get_shared_menu (RBApplication *app, const char *name) * Return value: (transfer none): plugin menu instance. */ GMenuModel * -rb_application_get_plugin_menu (RBApplication *app, const char *name) +rb_application_get_plugin_menu (RBApplication *app, const char *menu) { - GMenuModel *menu; + GMenuModel *pmenu; - menu = g_hash_table_lookup (app->priv->plugin_menus, name); - if (menu == NULL) { - menu = G_MENU_MODEL (g_menu_new ()); - g_object_ref_sink (menu); - g_hash_table_insert (app->priv->plugin_menus, g_strdup (name), menu); + pmenu = g_hash_table_lookup (app->priv->plugin_menus, menu); + if (pmenu == NULL) { + pmenu = G_MENU_MODEL (g_menu_new ()); + g_object_ref_sink (pmenu); + g_hash_table_insert (app->priv->plugin_menus, g_strdup (menu), pmenu); } - return menu; + return pmenu; } /** diff --git a/shell/rb-shell-player.c b/shell/rb-shell-player.c index a3599bb92..5bd9b0f4c 100644 --- a/shell/rb-shell-player.c +++ b/shell/rb-shell-player.c @@ -1636,7 +1636,7 @@ rb_shell_player_volume_changed_cb (RBPlayer *player, } /** - * rb_shell_player_set_mute + * rb_shell_player_set_mute: * @player: the #RBShellPlayer * @mute: %TRUE to mute playback * @error: returns error information diff --git a/shell/rb-task-list.c b/shell/rb-task-list.c index eccca5e60..85ce1d7ff 100644 --- a/shell/rb-task-list.c +++ b/shell/rb-task-list.c @@ -205,6 +205,14 @@ rb_task_list_new () return RB_TASK_LIST (g_object_new (RB_TYPE_TASK_LIST, NULL)); } +/** + * rb_task_list_get_model: + * @list: a #RBTaskList + * + * Returns the #RBListModel backing the list + * + * Return value: (transfer none): list model + */ RBListModel * rb_task_list_get_model (RBTaskList *list) { diff --git a/shell/rb-track-transfer-batch.c b/shell/rb-track-transfer-batch.c index 38bb1f7f5..562601584 100644 --- a/shell/rb-track-transfer-batch.c +++ b/shell/rb-track-transfer-batch.c @@ -246,7 +246,7 @@ select_profile_for_entry (RBTrackTransferBatch *batch, RhythmDBEntry *entry, Gst /** * rb_track_transfer_batch_check_profiles: * @batch: a #RBTrackTransferBatch - * @missing_plugin_profiles: holds a #GList of #GstEncodingProfiles on return + * @missing_plugin_profiles: (out) (element-type GstPbutils.EncodingProfile): holds a #GList of #GstEncodingProfiles on return * @error_count: holds the number of entries that cannot be transferred on return * * Checks that all entries in the batch can be transferred in a format diff --git a/shell/rb-track-transfer-queue.c b/shell/rb-track-transfer-queue.c index 9768b7956..5768ccee4 100644 --- a/shell/rb-track-transfer-queue.c +++ b/shell/rb-track-transfer-queue.c @@ -603,7 +603,7 @@ rb_track_transfer_queue_find_batch_by_source (RBTrackTransferQueue *queue, RBSou } /** - * rb_track_transfer_queue_cancel_for_source; + * rb_track_transfer_queue_cancel_for_source: * @queue: the #RBTrackTransferQueue * @source: the #RBSource to cancel transfers to/from * diff --git a/sources/rb-source-search-basic.c b/sources/rb-source-search-basic.c index 50150a016..c90cffacd 100644 --- a/sources/rb-source-search-basic.c +++ b/sources/rb-source-search-basic.c @@ -234,7 +234,7 @@ action_change_state_cb (GSimpleAction *action, GVariant *parameter, GSettings *s * settings instance are ignored. If the source doesn't have a settings * instance, it should set a default state on the action at some point. * - * Return value: #GAction instance + * Return value: (transfer full): #GAction instance */ GAction * rb_source_create_search_action (RBSource *source) diff --git a/sources/rb-transfer-target.c b/sources/rb-transfer-target.c index 4f184fa26..b21a5b21b 100644 --- a/sources/rb-transfer-target.c +++ b/sources/rb-transfer-target.c @@ -376,7 +376,7 @@ track_done_cb (RBTrackTransferBatch *batch, /** * rb_transfer_target_transfer: * @target: an #RBTransferTarget - * @entries: a #GList of entries to transfer + * @entries: (element-type RB.RhythmDBEntry): a #GList of entries to transfer * @defer: if %TRUE, don't start the transfer until * * Starts tranferring @entries to the target. This returns the diff --git a/widgets/rb-property-view.c b/widgets/rb-property-view.c index bc63aa753..48f972ac7 100644 --- a/widgets/rb-property-view.c +++ b/widgets/rb-property-view.c @@ -247,7 +247,7 @@ rb_property_view_class_init (RBPropertyViewClass *klass) /** * RBPropertyView::properties-selected: * @view: the #RBPropertyView - * @properties: a list containing the selected property values + * @properties: (element-type utf8): a list containing the selected property values * * Emitted when the set of selected property values changes. This is only * emitted for multiple selection property views. For single-selection views,