lyrics fetcher: if lyrics weren't found, attempt to search for them globally
This commit is contained in:
@@ -38,6 +38,7 @@ LyricsFetcher *lyricsPlugins[] =
|
|||||||
new LyricstimeFetcher(),
|
new LyricstimeFetcher(),
|
||||||
new MetrolyricsFetcher(),
|
new MetrolyricsFetcher(),
|
||||||
new LyrcComArFetcher(),
|
new LyrcComArFetcher(),
|
||||||
|
new InternetLyricsFetcher(),
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -239,5 +240,23 @@ void SonglyricsFetcher::postProcess(std::string &data)
|
|||||||
LyricsFetcher::postProcess(data);
|
LyricsFetcher::postProcess(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**********************************************************************/
|
||||||
|
|
||||||
|
LyricsFetcher::Result InternetLyricsFetcher::fetch(const std::string &artist, const std::string &title)
|
||||||
|
{
|
||||||
|
GoogleLyricsFetcher::fetch(artist, title);
|
||||||
|
LyricsFetcher::Result result;
|
||||||
|
result.first = false;
|
||||||
|
result.second = "The following site may contain lyrics for this song: ";
|
||||||
|
result.second += URL;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool InternetLyricsFetcher::isURLOk(const std::string &url)
|
||||||
|
{
|
||||||
|
URL = url;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // HAVE_CURL_CURL_H
|
#endif // HAVE_CURL_CURL_H
|
||||||
|
|
||||||
|
|||||||
@@ -160,6 +160,22 @@ struct Sing365Fetcher : public GoogleLyricsFetcher
|
|||||||
virtual const char *getCloseTag() { return "<div align"; }
|
virtual const char *getCloseTag() { return "<div align"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct InternetLyricsFetcher : public GoogleLyricsFetcher
|
||||||
|
{
|
||||||
|
virtual const char *name() { return "the Internet"; }
|
||||||
|
virtual Result fetch(const std::string &artist, const std::string &title);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual const char *getSiteKeyword() { return "lyrics"; }
|
||||||
|
virtual const char *getOpenTag() { return ""; }
|
||||||
|
virtual const char *getCloseTag() { return ""; }
|
||||||
|
|
||||||
|
virtual bool isURLOk(const std::string &url);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string URL;
|
||||||
|
};
|
||||||
|
|
||||||
extern LyricsFetcher *lyricsPlugins[];
|
extern LyricsFetcher *lyricsPlugins[];
|
||||||
|
|
||||||
#endif // HAVE_CURL_CURL_H
|
#endif // HAVE_CURL_CURL_H
|
||||||
|
|||||||
Reference in New Issue
Block a user