[grilo-plugins] lua-factory: Add Musicbrainz Cover Art plugin
- From: Juan A. Suarez Romero <jasuarez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilo-plugins] lua-factory: Add Musicbrainz Cover Art plugin
- Date: Wed, 4 Jun 2014 11:19:50 +0000 (UTC)
commit ccbb261638bbf14858de847a2838d5c9f2faf410
Author: Bastien Nocera <hadess hadess net>
Date: Mon Apr 7 17:53:58 2014 +0200
lua-factory: Add Musicbrainz Cover Art plugin
https://bugzilla.gnome.org/show_bug.cgi?id=727766
src/lua-factory/sources/Makefile.am | 3 +-
src/lua-factory/sources/grl-musicbrainz.lua | 66 +++++++++++++++++++++++++++
2 files changed, 68 insertions(+), 1 deletions(-)
---
diff --git a/src/lua-factory/sources/Makefile.am b/src/lua-factory/sources/Makefile.am
index d7953b5..0c85c29 100644
--- a/src/lua-factory/sources/Makefile.am
+++ b/src/lua-factory/sources/Makefile.am
@@ -9,7 +9,8 @@ lua_sources_DATA = \
grl-metrolyrics.lua \
grl-radiofrance.lua \
grl-euronews.lua \
- grl-guardianvideos.lua
+ grl-guardianvideos.lua \
+ grl-musicbrainz.lua
lua_sourcesdir = $(datadir)/$(LUA_FACTORY_SOURCE_LOCATION)
diff --git a/src/lua-factory/sources/grl-musicbrainz.lua b/src/lua-factory/sources/grl-musicbrainz.lua
new file mode 100644
index 0000000..663bb3a
--- /dev/null
+++ b/src/lua-factory/sources/grl-musicbrainz.lua
@@ -0,0 +1,66 @@
+--[[
+ * Copyright (C) 2014 Victor Toso.
+ *
+ * Contact: Bastien Nocera <hadess hadess net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+--]]
+
+---------------------------
+-- Source initialization --
+---------------------------
+
+source = {
+ id = "grl-musicbrainz-coverart",
+ name = "Musicbrainz Cover Art",
+ description = "a source for coverart",
+ supported_keys = { "thumbnail" },
+ resolve_keys = {
+ ["type"] = "audio",
+ required = { "mb-album-id" },
+ },
+}
+
+MUSICBRAINZ_DEFAULT_QUERY = "http://coverartarchive.org/release/%s/front"
+
+---------------------------------
+-- Handlers of Grilo functions --
+---------------------------------
+
+function grl_source_resolve()
+ local url, req
+ local id
+
+ req = grl.get_media_keys()
+ id = req.mb_album_id
+ -- FIXME add more checks on MB ID too
+ if not req or not id or #id == 0 then
+ grl.callback()
+ return
+ end
+
+ -- Prepare artist and title strings to the url
+ media = {}
+
+ res = {}
+ res[#res + 1] = string.format(MUSICBRAINZ_DEFAULT_QUERY, id)
+ res[#res + 1] = string.format(MUSICBRAINZ_DEFAULT_QUERY .. '-500', id)
+ res[#res + 1] = string.format(MUSICBRAINZ_DEFAULT_QUERY .. '-250', id)
+
+ media.thumbnail = res
+ grl.callback(media, 0)
+end
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]