Jump to content

Emby Blog

  • entries
    539
  • comments
    4753
  • views
    3347281

Contributors to this blog

  • Luke 341
  • ebr 68
  • Carlo 31
  • 7illusions 15
  • ScottIsAFool 12
  • Abobader 11
  • xnappo 8
  • radeon 8
  • darwindeeds 7
  • Redshirt 6
  • Cheesegeezer 5
  • leedavies 3
  • Aphid 3
  • techywarrior 3
  • bigjohn 3
  • snazy2000 3
  • softworkz 2
  • sross44 2
  • Soultaker 2
  • chef 2
  • gcw07 2
  • hurricanehrndz 1
  • marcelveldt 1

Anime Plugin Updated


Aphid

7446 views

The anime metadata plugin has finally been updated to support some major changes that went though a while ago to how metadata providers worked in Media Browser. The plugin has largely been re-written, and is now compatible with the improved customization options available in MBS, while also bringing a few new features and numerous bug fixes. The update should be available with the next server release.

 

Changes:

  • Missing and unaired episode support
  • Improved series identification with TVDB
  • Improved season metadata
  • Improved algorithm for selecting the correct series/season when converting between tvdb/anidb formats
  • Improved genre metadata
  • Links to AniDB and AniList

 

Series Details

5339cbc6cc153_ChihayaSeriesInfo.jpg

 

 

Season Details

5339cbed6a081_ChihayaSeasonInfo.jpg

 

 

Metadata Settings

 

It is recommended that you put the anime metadata downloaders above the core providers, but place the anime image fetchers below the core fetchers.

 

5339ccdbc7bc3_MetadataSettings.jpg

  • Like 3

20 Comments


Recommended Comments

inconsiderate

Posted

Sorry if I'm just missing something, but how do I enable this plugin? I have it installed, but AniDB and AniList do not show up under TV Metadata Downloaders like it does in the picture above.

Link to comment

Which version of the plugin do you have installed? This release is dependant on some recent changes to the server, so you will need to either be running the dev version of the server, or wait until a new server release.

Link to comment
inconsiderate

Posted

Server version is 3.0.5192.19560, and the anime plugin version is 1.0.5124.4304

Link to comment

The latest plugin version is 1.0.5203.35730. If you want to try it now, you will have to change your server update level to Dev (in Advanced settings) and let it update. I have to warn you that the dev version is not always going to be as stable as the release or beta versions.

Link to comment

One question, I was looking at the code on github and I noticed that there is no logic for multiepisodes. How the plugin handle files that contains multiple episodes?

Link to comment

It will only find information for the first episode, although the episode will still be recognised in MB as containing multiple parts. I'll add support for that in the next release.

Link to comment

Ok, I just installed the plugin. Didn't have to change my folder structure, but found some cases where your series id identification doesn't work. For example if a series on theTvdb is listed as Season 2 but on the anidb is marked as a prequel. In this case season is not renamed. Example: Agent Aika.

 

The other case is if the season is marked as a side story on anidb. Example Season 3 of full metal panic.

 

One way to fix the issue is use https://github.com/ScudLee/anime-lists as the mechanism for mapping thetvdb seasons to anidb series. I used to work with those xml to match the ids and be able to pull the genres on a custom plugin that I had in the past. 

Link to comment

Does the anime plugin support anime episodes by absolute episode number, or does it require S01E01 naming?

Link to comment

@Luis I did not know about that project. I'll definitely get that in there, although doing so is not nearly as simple as it might seem.

 

@af22 It should work, but I have been having trouble with MB not recognising episodes with absolute numbers, or those not in season folders. I'm planning on taking a look into it when I get the chance, but it seems to be an issue with the server rather than with the plugin.

Link to comment
CovertJaguar

Posted

The rating field only supports one digit after the decimal, but the plugin happily inserts two. MB then complains if you try editing the metadata manually.

 

Also the vast majority of anibd overview entries start with an annoying "* based on x serialized in y", be kind of nice to clean that up a bit. There is also often a bunch of random minuta at the end in italics, but that might be harder to strip out.

 

I tried putting AniList as higher priority so it would grab the overviews from there (they seem to be cleaner) but it seems to be ignoring AniList overviews.

Link to comment

I tried putting AniList as higher priority so it would grab the overviews from there (they seem to be cleaner) but it seems to be ignoring AniList overviews.

 

Did you force a refresh from the metadata editor after changing the priority, or run a rescan? I am having trouble reproducing this.

Link to comment

For example if a series on theTvdb is listed as Season 2 but on the anidb is marked as a prequel. In this case season is not renamed. Example: Agent Aika.

 

This case should actually work with the current logic. Could you give more details about how you have that series organised?

Link to comment

There is a new version up with fixes for multi-episodes and rounding community ratings.

Link to comment

This case should actually work with the current logic. Could you give more details about how you have that series organised?

Here is the structure:

 

aika.JPG

Season 1 is Aika

Season 2 is Aika R-16

Season 3 is Aika Zero

This is according to thetvdb

but on anidb 

Aika is the main Series, it has a prequel that is Aika Zero (Season 3 on thetvdb),

and Aika Zero has a prequel that is Aika R-16 (Season 2 on thetvdb).

Link to comment

@aphid

@Luis I did not know about that project. I'll definitely get that in there, although doing so is not nearly as simple as it might seem.

 

It is really simple. I actually implemented the functionality on a fork of your plugin. I still need to clean the code and remove unecesary logic. Basically I just added a new Indexer for the seasons and inside the AniDbSeasonProvider called the new indexer instead of FindSeriesByRelativeIndex. 

The only tricky part was creating the dictionary inside the indexer.

 

var xdoc = XDocument.Load(mapperFilePath);

            int test;
            var mapper=
                    xdoc.Descendants("anime")
                        .Select(
                            x =>
                                 new
                                 {
                                     tvdbid = x.Attribute("tvdbid") != null ? x.Attribute("tvdbid").Value : "",
                                     anidbid = x.Attribute("anidbid") != null ? x.Attribute("anidbid").Value : "",
                                     season = x.Attribute("defaulttvdbseason") != null ? (x.Attribute("defaulttvdbseason").Value != "a" ? x.Attribute("defaulttvdbseason").Value : "1") : ""
                                 }).Where(x => x.season != "0" && x.tvdbid != "" && int.TryParse(x.tvdbid, out test))
                                    .GroupBy(x=>x.tvdbid)
                                    .ToDictionary(x => x.Key, x => x.GroupBy(y => y.season).Select(y => new { k = y.Key, v = y.First() }).ToDictionary(y => y.k, y => y.v.anidbid));
               

With that i have a dictionary with the following structure:
key=> thetvdb id
value=> dictionary: key => Season number
                               value => anidb id

 

if the tv does not exists then just use your regular FindSeriesByRelativeIndex

Link to comment

@Luis Sorry, I didn't see your reply.

 

The complex part of supporting anime-lists is actually the interaction with the core providers. The plugin does some fiddling with the indexes to allow the core plugins (like tvdb) to find the correct series if you have organised your library like the anime databases do. The plugin uses an index system which happens to work correctly (mostly..) for both anidb and tvdb, so it does not need to explicitly work out which system the user is using.

 

Using the tvdb ID to find the anidb data would only work reliably if the user has organised their library as per tvdb convention (else the season number may be wrong), and they have the tvdb provider running at a higher priority than the AniDB provider.

 

For example, if the user has the following folder structure:

 

Clannad/Season 1/s01e01.mkv

Clannad/Season 1/s01e02.mkv

Clannad After Story/Season 1/s01e01.mkv

 

The TVDB provider would identify both of those series as ID 80644. Both series have one season, which is season index 1. Therefore, After Story season 1 would be incorrectly identified as the original Clannad season.

Link to comment
Jordan Humberto de Souza

Posted

 

Snapshot of GetDashboardConfigurationPage generated by ServiceStack on 18/02/2016 07:20:48

 

Response Status

 

 

Error Code

 

InvalidOperationException

 

Message

 

A sequência não contém elementos de correspondência

 

Stack Trace

 

[GetDashboardConfigurationPage: 18/02/2016 07:20:48]: [REQUEST: {}] System.InvalidOperationException: A sequência não contém elementos de correspondência em System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate) em MediaBrowser.WebDashboard.Api.DashboardService.Get(GetDashboardConfigurationPage request) em ServiceStack.Host.ServiceRunner`1.Execute(IRequest request, Object instance, TRequest requestDto)

 

Errors

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...