[vlc-devel] [PATCH 2/3] musicbrainz.lua: Support coverartarchive.org
Wieland Hoffmann
themineo at gmail.com
Sun Jan 12 23:04:08 CET 2014
If the Cover Art Archive has artwork for this album, use the 500x500px
version of it.
---
share/lua/meta/art/00_musicbrainz.lua | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/share/lua/meta/art/00_musicbrainz.lua b/share/lua/meta/art/00_musicbrainz.lua
index 1e11cbd..67648d7 100644
--- a/share/lua/meta/art/00_musicbrainz.lua
+++ b/share/lua/meta/art/00_musicbrainz.lua
@@ -1,5 +1,5 @@
--[[
- Gets an artwork from amazon
+ Gets an artwork from the Cover Art Archive or Amazon
$Id$
Copyright © 2007-2010 the VideoLAN team
@@ -19,17 +19,22 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
--]]
-function try_query(query)
- local s = vlc.stream( query )
+function try_query(mbid)
+ local relquery = "http://mb.videolan.org/ws/2/release/" .. mbid
+ local s = vlc.stream( relquery )
if not s then return nil end
local page = s:read( 65653 )
+ found, _ = string.find( page, "<artwork>true</artwork>" )
+ if found then
+ return "http://coverartarchive.org/release/"..mbid.."/front-500"
+ end
-- FIXME: multiple results may be available
_, _, asin = string.find( page, "<asin>(%w+)</asin>" )
if asin then
return "http://images.amazon.com/images/P/"..asin..".01._SCLZZZZZZZ_.jpg"
end
- vlc.msg.dbg("ASIN not found")
+ vlc.msg.dbg("Neither coverartarchive.org nor amazon have cover art for this release")
return nil
end
@@ -69,8 +74,7 @@ function fetch_art()
releaseid = get_releaseid( recquery )
end
if releaseid then
- relquery = "http://mb.videolan.org/ws/2/release/" .. releaseid
- return try_query( relquery )
+ return try_query( releaseid )
else
return nil
end
--
1.8.5.2
More information about the vlc-devel
mailing list