Jump to content

Need help with an audiobook metadata plugin I am building


azoth
Go to solution Solved by Luke,

Recommended Posts

I have built a plugin that is able to grab audiobook metadata from Audible using their kind of unpublished API... At some point when I iron out the matching logic, I'm hoping to publish the plugin here if not in the official plugin repo.

Everything is working pretty well, but I would like to add the ability to automatically create collections based on the series information that comes back from Audible. I can't seem to find any documentation on how to create a collection. I tried just adding a LinkedItemInfo in the collections array when I return the MusicAlbum, but that doesn't work (I am assuming this is because the collection doesn't exist yet). I mean I could make a callout to the right endpoint but that doesn't feel like the best way to do it. Can anyone provide an example or maybe the interfaces I would need to implement to get that working? I'm thinking that it would have to be a PostScanTask since adding the LinkedItemInfo doesn't work, but if there's a way to do it when I grab that information from Audible in the AlbumMetadataProvider that would be awesome!

Any guidance would be much appreciated.

  • Like 1
Link to comment
Share on other sites

17 hours ago, azoth said:

from Audible using their kind of unpublished API

Unless you have permission from Audible to use their data, I'm afraid we cannot publish that plug-in.

Link to comment
Share on other sites

That makes sense, eventually my plan is to source the data from an open service I am building, but this is a QOL stop gap for my own sanity using Emby as my audiobook streamer. Any ideas for the auto collections?

Link to comment
Share on other sites

Your metadata provider can populate the Collections property similar to what MovieDb does, or exactly like what it does rather.

The user will still have to enable it in library options for the core server to utilize it.

Link to comment
Share on other sites

Ok good to know it's possible. Is there a way to look at how the MovieDb does it? I don't think the Emby source code on GitHub is very relevant anymore, but I could be wrong. Thanks for your help!

Link to comment
Share on other sites

It's really just a matter of filling out the Collections list in the same way you'd do for Genres, Studios, etc.

Link to comment
Share on other sites

Hmm... The only difference appears to be that Collections and ImportedCollections are arrays of LinkedItemInfo vs Genres, Studios and the like being just arrays of strings. The problem I'm seeing is that:

Collections = [new LinkedItemInfo
{
	Name = "<seriesTitle>"
}]

Just does not work. Is there something else that needs to happen? Also you said that the end user will need to configure the library, but I'm not seeing any option for collections on the Audiobook library type.

Link to comment
Share on other sites

  • Solution

The metadata provider class also has to implement IHasMetadataFeatures in order for the option to show up in library options.

Link to comment
Share on other sites

  • 1 year later...
mickle026
1 hour ago, jprobins007 said:

Is this plugin available somewhere?

I dont know if this particular plugin was finished

However I did attempt a plugin for audiobooks here, the problem being audiobooks are a hack of music internally in emby.  Also there is no real metadata sites for them, just have to scrape websites which is not officially allowed with emby.  Im not sure if my plugin still works but ti costs nothing to try it.

Link to comment
Share on other sites

17 minutes ago, mickle026 said:

I dont know if this particular plugin was finished

However I did attempt a plugin for audiobooks here, the problem being audiobooks are a hack of music internally in emby.  Also there is no real metadata sites for them, just have to scrape websites which is not officially allowed with emby.  Im not sure if my plugin still works but ti costs nothing to try it.

It may have started as a clone of music but it has grown into it's own thing.

Link to comment
Share on other sites

mickle026
20 minutes ago, Luke said:

It may have started as a clone of music but it has grown into it's own thing.

Has the crossover of items not being updated issue been fixed then as described here ? - here certain things were not populated in the metadata editor, but were added and displayed in client displays.  SO I think they were added correctly but the metadata editor not displaying all the data correctly? - if it is fixed I might revisit this plugin ....

Edited by mickle026
  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...
On 9/7/2023 at 6:23 PM, mickle026 said:

Has the crossover of items not being updated issue been fixed then as described here ? - here certain things were not populated in the metadata editor, but were added and displayed in client displays.  SO I think they were added correctly but the metadata editor not displaying all the data correctly? - if it is fixed I might revisit this plugin ....

We can add more info for editing in the metadata editor. Thanks.

Link to comment
Share on other sites

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...