MaeLyrica/How to write plugins

How to write a plugin for MaeLyrica?

Which data should be provided?

A MaeLyrica plug-in is just a class containing these functions and variables:

   virtual std::string toProviderCode(string artist, string track) const;
   virtual bool parse();

The following function can be provided too:

   virtual short perform(string a, string t);
   virtual CURLcode download(string a, string t); 

Requirements for functions

The toProviderCode function should return the URL as std::string, from which data should be downloaded. The default download function will follow any redirects.