X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Flyrics.c;h=a6bbef2659263ee6258815c2e6cabc6ca9425f07;hb=d3fa4666911bae9b7317b04cc6f286849b58db50;hp=052af4e8ac656c29bcd4925b5ea24c738bd98b39;hpb=196c22ca88fbe005aba1fdf6dffe2343231757eb;p=ncmpc.git diff --git a/src/lyrics.c b/src/lyrics.c index 052af4e..a6bbef2 100644 --- a/src/lyrics.c +++ b/src/lyrics.c @@ -1,6 +1,6 @@ -/* ncmpc - * Copyright (C) 2008 Max Kellermann - * This project's homepage is: http://www.musicpd.org +/* ncmpc (Ncurses MPD Client) + * (c) 2004-2010 The Music Player Daemon Project + * Project homepage: http://musicpd.org * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -11,52 +11,40 @@ * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "lyrics.h" -#include "../config.h" +#include "config.h" #include -static struct plugin_list plugins; - -struct lyrics_loader { - struct plugin_cycle *plugin; -}; +static struct plugin_list empty, plugins; void lyrics_init(void) { + plugin_list_init(&empty); plugin_list_init(&plugins); plugin_list_load_directory(&plugins, LYRICS_PLUGIN_DIR); } void lyrics_deinit(void) { + plugin_list_deinit(&empty); plugin_list_deinit(&plugins); } -struct lyrics_loader * +struct plugin_cycle * lyrics_load(const char *artist, const char *title, plugin_callback_t callback, void *data) { - struct lyrics_loader *loader = g_new(struct lyrics_loader, 1); const char *args[3] = { artist, title, NULL }; - assert(artist != NULL); - assert(title != NULL); - - loader->plugin = plugin_run(&plugins, args, - callback, data); + if (artist == NULL || title == NULL) + return plugin_run(&empty, args, callback, data); - return loader; -} - -void -lyrics_free(struct lyrics_loader *loader) -{ - plugin_stop(loader->plugin); - g_free(loader); + return plugin_run(&plugins, args, callback, data); }