GithubHelp home page GithubHelp logo

Comments (4)

vosmiic avatar vosmiic commented on July 18, 2024 1

Thanks @revam, I think getting our plugins to work together makes absolute sense, since they both compliment each other, and I will most definitely take you up on that offer.
Like I said in my previous comment, I am currently away from my dev PC so I am not extending the functionality of the plugin at the moment and really only fixing major bugs, but when I am next able to work on the plugin (should be mid to late May) I'll look into adding support for the Shokofin plugin.
If I have any questions (I'm sure I will) I'll open an issue/discussion on the Shokofin repo.
Thanks again for offering to work together on this!

from jellyfin-ani-sync.

vosmiic avatar vosmiic commented on July 18, 2024

Special support by the plugin has always been a bit awkward. I have been meaning to re-write some of the logic around the detection of specials because, as you have experienced, its not good.

My question is that if a season already has an AniDB id set, shouldn't that just be returned directly from the GetAniDbId method? I have tested this myself and it seems to make it work as intended. As far as I am aware the Anidb plugin only sets this id on a series level, so anything set at season level should only be set by Shokofin.

Yes, you are right, we should be using the season level AniDB ID, if it exists. The reason that we don't bother checking was because of the AniDB metadata plugin that, as you outlined, sets it at the series level which forces the plugin to use the season number set by Jellyfin which isn't always accurate.

That being said, I am now aware of the Shokofin plugin, and would like to add support for its metadata capabilities to this plugin. As it sets the AniDB ID at the season level, it could very potentially become the most compatible metadata provider for the plugin.

I am currently away from my dev PC so development is slow, but I will take a look at this when I get a chance. As a quick, temporary workaround I will test your solution of just returning the season level AniDB ID and see if I can get it into the upcoming beta release.

from jellyfin-ani-sync.

Terrails avatar Terrails commented on July 18, 2024

I have compiled my own version of ani-sync which just returns the AniDB id when its set on a season level and it has been working great for now.

Shokofin's solution does require Shoko Server, so it cannot work on its own, but compared to every other provider, it probably gives the best experience for anime in Jellyfin, so thank you for considering support for it!

from jellyfin-ani-sync.

revam avatar revam commented on July 18, 2024

Just adding some information from my/our side on this issue:

The Shokofin plugin currently provides the AniDB anime ID on season/series entries and the AniDB episode ID for the first episode of the given type on episode entries to Jellyfin for other plugins to use. Though when using the IDs in a library managed by the plugin, there are a couple of specific challenges that need addressing:

  • Users can hide episodes in Shoko, which impacts the episode numbers displayed in Jellyfin. The episode numbers used by the Shokofin plugin are based on the relative-ness of the non-hidden episodes in Shoko, thus they only match AniDB episode numbers if no episodes are hidden. If you need the exact AniDB episode number(s) for an episode entity in Jellyfin — whether as a range that includes all episode numbers or just the first one, with or without the type prefix — we can provide that for your plugin to consume in the future, but it is not currently available.
  • Shokofin is generating "seasons" based on the user's collection in Shoko, and may generate them in an order that does not confront to any online databases (such as TvDB or TMDB), generating up to two different "seasons" per anime within the "series," such as one "season" for normal type episodes and another for other type episodes. Most of the time there will be no other type "season," but there exists edge cases where it will generate the normal type, both, or the other type.

In 99% of use cases, these challenges won't be an issue. However, for the remaining 1%, using just the AniDB anime ID and the episode number within the season to determine episodes for syncing can be problematic. Deeper integration between the plugins will be necessary to ensure accurate syncing of AniList episode statuses in libraries managed by the Shokofin plugin. Feel free to ask me for more details about Shokofin or Shoko (if needed) or propose a solution if you believe we can work together to integrate our plugins. Or, if you believe this is outside the scope of your plugin to support, feel free to say no, and we'll leave it at this. We'll respect your decision either way. 🙂

from jellyfin-ani-sync.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.