Update upstream source from tag 'upstream/0.35'
[ncmpc-debian.git] / src / lyrics.cxx
index b5285b9..2c19067 100644 (file)
@@ -1,5 +1,5 @@
 /* ncmpc (Ncurses MPD Client)
- * (c) 2004-2017 The Music Player Daemon Project
+ * (c) 2004-2019 The Music Player Daemon Project
  * Project homepage: http://musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
  */
 
 #include "lyrics.hxx"
+#include "plugin.hxx"
 #include "config.h"
 
-#include <assert.h>
-
-static struct plugin_list empty, plugins;
+static PluginList plugins;
 
 void lyrics_init()
 {
-       plugin_list_init(&empty);
-       plugin_list_init(&plugins);
-       plugin_list_load_directory(&plugins, LYRICS_PLUGIN_DIR);
+       plugins = plugin_list_load_directory(LYRICS_PLUGIN_DIR);
 }
 
-void lyrics_deinit()
+PluginCycle *
+lyrics_load(boost::asio::io_service &io_service,
+           const char *artist, const char *title,
+           PluginResponseHandler &handler)
 {
-       plugin_list_deinit(&empty);
-       plugin_list_deinit(&plugins);
-}
+       assert(artist != nullptr);
+       assert(title != nullptr);
 
-struct plugin_cycle *
-lyrics_load(const char *artist, const char *title,
-           plugin_callback_t callback, void *data)
-{
        const char *args[3] = { artist, title, nullptr };
 
-       if (artist == nullptr || title == nullptr)
-               return plugin_run(&empty, args, callback, data);
-
-       return plugin_run(&plugins, args, callback, data);
+       return plugin_run(io_service, &plugins, args, handler);
 }