iTunes Store MetaData?

scanner-agent-dev

#1

I don't know if this has been asked before and a basic search did not turn up any results. But any thoughts on adding an iTunes Store Metadata agent? There is a pretty good iTunes Store Search API that returns a good amount of data needed including the iTunes Store Artwork.

For example a search for Harry (Harry Potter) (truncated for show):

*URL: * http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/wa/wsSearch?term=harry&country=us

Output:

{
  "resultCount": 50,
  "results": [
    {
      "wrapperType": "track",
      "kind": "feature-movie",
      "collectionId": 477162779,
      "trackId": 455832983,
      "artistName": "David Yates & David Yates",
      "collectionName": "Harry Potter and the Deathly Hallows: Parts 1 and 2",
      "trackName": "Harry Potter and the Deathly Hallows, Part 2",
      "collectionCensoredName": "Harry Potter and the Deathly Hallows: Parts 1 and 2",
      "trackCensoredName": "Harry Potter and the Deathly Hallows, Part 2",
      "collectionArtistId": 199257486,
      "collectionArtistViewUrl": "https://itunes.apple.com/us/artist/warner-bros.-entertainment/id199257486?uo=4",
      "collectionViewUrl": "https://itunes.apple.com/us/movie/harry-potter-deathly-hallows/id455832983?uo=4",
      "trackViewUrl": "https://itunes.apple.com/us/movie/harry-potter-deathly-hallows/id455832983?uo=4",
      "previewUrl": "http://a131.v.phobos.apple.com/us/r1000/111/Video/16/77/2a/mzm.wluzynas..640x362.h264lc.d2.p.m4v",
      "artworkUrl30": "http://is2.mzstatic.com/image/thumb/Video69/v4/85/d8/d5/85d8d5b5-518b-8a3a-0a28-78d8d9549c24/pr_source.lsr/30x30bb-85.jpg",
      "artworkUrl60": "http://is4.mzstatic.com/image/thumb/Video69/v4/85/d8/d5/85d8d5b5-518b-8a3a-0a28-78d8d9549c24/pr_source.lsr/60x60bb-85.jpg",
      "artworkUrl100": "http://is4.mzstatic.com/image/thumb/Video69/v4/85/d8/d5/85d8d5b5-518b-8a3a-0a28-78d8d9549c24/pr_source.lsr/100x100bb-85.jpg",
      "collectionPrice": 9.99,
      "trackPrice": 9.99,
      "trackRentalPrice": 3.99000,
      "collectionHdPrice": 14.99000,
      "trackHdPrice": 14.99000,
      "trackHdRentalPrice": 4.99000,
      "releaseDate": "2011-07-15T07:00:00Z",
      "collectionExplicitness": "notExplicit",
      "trackExplicitness": "notExplicit",
      "discCount": 1,
      "discNumber": 1,
      "trackCount": 2,
      "trackNumber": 2,
      "trackTimeMillis": 7825632,
      "country": "USA",
      "currency": "USD",
      "primaryGenreName": "Action & Adventure",
      "contentAdvisoryRating": "PG-13",
      "longDescription": "\"Harry Potter and the Deathly Hallows - Part 2,\" is the final adventure in the Harry Potter film series. The much-anticipated motion picture event is the second of two full-length parts. In the epic finale, the battle between the good and evil forces of the wizarding world escalates into an all-out war. The stakes have never been higher and no one is safe. But it is Harry Potter who may be called upon to make the ultimate sacrifice as he draws closer to the climactic showdown with Lord Voldemort. It all ends here.",
      "radioStationUrl": "https://itunes.apple.com/station/idra.455832983"
    }
  ]
}

This seems to be pretty well documented here:
https://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html

and implemented here:

http://bendodson.com/code/itunes-artwork-finder/index.html

https://github.com/bendodson/itunes-artwork-finder

This would be extremely useful for the upcoming ATV App especially if we can figure out the Parallax artwork URL.


#2

Also Just figured out how to download the parallax images!

http://is4.mzstatic.com/image/thumb/Video69/v4/85/d8/d5/85d8d5b5-518b-8a3a-0a28-78d8d9549c24/pr_source.lsr/1000x1000-100.lsr

Basically set the size with the 1000x1000, the -100 looks like quality cause if you lower that value the image gets blurry. The .lsr can be opened using the tvOS parallax previewer and looks just like the ATV version!


#3

Actually also started a bundle for adding iTunes Store Agent Metadata https://github.com/bassrock/iTunesMetadata.bundle


#4

Ok so I was able to do the basic parsing of information. The only issue I am having is whether to make it a primary provider or an add on one. The issue with both of these is I only see a way to map one id to the movie, and I need a way to map the iTunes Store ID and the IMDB ID.

Any thoughts from anyone?


#5

For anyone curious. I got the plugin working for movie metadata and artwork! Looks good with my library!


#6

I will give this a try but I am interested in it gathering for Movie and TV Shows.


#7

@stevenbrown8 What do you mean? It does grab for movies and tv shows


#8

hmm i can't seem to get this to pull in the iTunes metadata or artwork.


#9

@zackotronic How do you have your metadata order setup? This one will need to be set as the first in the list for it to work properly so that the metadata grabber will use the iTunes values over any others.


#10

@bass_rock is there a way that you can make this for just artwork?


#11

@zackotronic Yep. I can actually add it as an option. I'll look into it now.


#12

@bass_rock omg that'd be awesome. I've been using Ben godson's website manually (redoing my whole library). And its down at the moment.


#13

@zackotronic done, pretty simple add. I can actually download the parallax Apple TV artwork too, just no idea where to save it in Plex.


#14

Also, this uses a screen scraping approach to fan.tv to get the iTunes ID,, so as long as the movie exists there with an iTunes link this will work. And it uses Findable.tv for tv shows. However Plex doesn't really display square TV Show Artwork


#15

@bass_rock in terms of placement because it is just artwork, should i still place it above all other agents?


#16

Yea, the order determines which metadata is the default, and then it fills in empty slots according to the order.


#17

@bass_rock it still seems to pulling all the metadata.


#18

Did you change the setting in it's preferences?


#19

yea, i only have Use only iTunes artwork checked.


#20

Try the inverse might have messed it up