# HG changeset patch # User Matti Hamalainen # Date 1206782891 -7200 # Node ID 13f021d53367082ec7f11a66f1d1018bb0b6f5fe # Parent 59e8f118ad34eaeb4de26709197ef992d6f45abb Added a plugin-services menu option to force re-scanning of CD, patch adapted from bugzilla #221 by Andrew O. Shadoura. diff -r 59e8f118ad34 -r 13f021d53367 src/cdaudio-ng/cdaudio-ng.c --- a/src/cdaudio-ng/cdaudio-ng.c Sat Mar 29 11:14:39 2008 +0200 +++ b/src/cdaudio-ng/cdaudio-ng.c Sat Mar 29 11:28:11 2008 +0200 @@ -86,6 +86,7 @@ static Tuple *cdaudio_get_song_tuple(gchar *filename); static void menu_click(void); +static void rescan_menu_click(void); static Tuple *create_tuple_from_trackinfo_and_filename(gchar *filename); static void dae_play_loop(dae_params_t *pdae_params); static void *scan_cd(void *nothing); @@ -200,6 +201,13 @@ cdng_cfg.use_dae, cdng_cfg.limitspeed, cdng_cfg.use_cdtext, cdng_cfg.use_cddb, cdng_cfg.cddb_server, cdng_cfg.cddb_port, cdng_cfg.cddb_http, cdng_cfg.device, cdng_cfg.debug); + menu_item_text = _("Rescan CD"); + main_menu_item = gtk_image_menu_item_new_with_label(menu_item_text); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(main_menu_item), gtk_image_new_from_stock(GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU)); + gtk_widget_show(main_menu_item); + audacious_menu_plugin_item_add(AUDACIOUS_MENU_MAIN, main_menu_item); + g_signal_connect(G_OBJECT(main_menu_item), "activate", G_CALLBACK(rescan_menu_click), NULL); + menu_item_text = _("Add CD"); main_menu_item = gtk_image_menu_item_new_with_label(menu_item_text); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(main_menu_item), gtk_image_new_from_stock(GTK_STOCK_CDROM, GTK_ICON_SIZE_MENU)); @@ -612,7 +620,7 @@ /* * auxiliar functions */ -static void menu_click() +static void menu_click(void) { debug("plugin services menu option selected\n"); @@ -632,6 +640,13 @@ } } +static void rescan_menu_click(void) +{ + debug("plugin services rescan option selected\n"); + + scan_cd_threaded(0, 0); +} + static Tuple *create_tuple_from_trackinfo_and_filename(gchar *filename) { Tuple *tuple = aud_tuple_new_from_filename(filename);