void ol_menu_no_lyric (GtkWidget *widget, gpointer data) { OlMetadata *info = ol_app_get_current_music (); if (info != NULL) ol_app_assign_lrcfile (info, NULL, TRUE); }
static void _download_callback (struct OlLrcDownloadResult *result) { ol_log_func (); if (result->filepath != NULL) ol_app_assign_lrcfile (result->info, result->filepath, TRUE); else ol_display_module_download_fail_message (module, _("Download failed")); }
static gboolean _check_lyric_file () { ol_log_func (); gboolean ret = TRUE; char *filename = NULL; int code = ol_lrclib_find (&music_info, &filename); if (code == 0) filename = ol_lyric_find (&music_info); if (filename != NULL) { ret = ol_app_assign_lrcfile (&music_info, filename, code == 0); g_free (filename); } else { ol_debugf("filename;%s\n", filename); if (code == 0) ret = FALSE; } return ret; }
void ol_menu_assign_lrc (GtkWidget *widget, gpointer data) { static char *prev_path = NULL; OlMetadata *info = ol_app_get_current_music (); GtkFileFilter *lrc_filter = NULL; lrc_filter = gtk_file_filter_new (); gtk_file_filter_set_name (lrc_filter, _("LRC files")); gtk_file_filter_add_pattern (lrc_filter, "*.lrc"); if (info != NULL) { ol_debugf ("prev_path: %s\n", prev_path); GtkWidget *dialog = NULL; dialog = gtk_file_chooser_dialog_new (_("Choose LRC file to assign"), NULL, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), lrc_filter); if (prev_path != NULL) gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), prev_path); if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { char *filename; filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); ol_app_assign_lrcfile (info, filename, TRUE); g_free (filename); if (prev_path != NULL) g_free (prev_path); prev_path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog)); } gtk_widget_destroy (dialog); dialog = NULL; } }