macr0dev / Audiobooks.bundle

Plex metadata scraper for Audiobooks
600 stars 65 forks source link

Author > Series > Books, etc. #19

Closed jmeosbn closed 6 years ago

jmeosbn commented 6 years ago

Hi there, love that someone is working on this. I have some minor nitpicks which I hope to contribute some time via PR, but one of a few main hurdles I’ve been trying to overcome is the lack of a “Series” level in the book hierarchy.

Looking at plugin and scanner sources it seems like it may be possible to “just” specify the author as a container of Series objects which display as collapsed until more than one book object is contained by it - kind of a marriage between film collections and tv series - but I don’t Python so good so I’m keen to know why that wouldn’t be doable.

Add to that the magic that would allow me to know which tracks I’ve “watched” and I wouldn’t shy away from starting my multi-file books only to keep losing my place!

Failing that - a much more possible way I’ve been looking into is the multi-part ability of Plex to treat several files as one. It seems the scanner could auto-magically join the files of each book into one virtual track, then rely on the position saving (which does seem to work reliably with multi-part audio) to replace most of the need for “watched” status. This would also obviate the need for an additional level for series as “tracks” would actually be books, so “albums” could be named after the book (if standalone) or series (which audible provides).

I’ve tried the above by manually tagging single book files and the layout (albums as series) works nicely but is burdensome to achieve by hand (as is the multi-part stuff).

Anyway, please let me know what you think?

Also, +1 for leaving genres alone if present, and not adding non-genre tags to. :)

jmeosbn commented 6 years ago

I’d also note that albums as series does have the downside that album art and synopsis will be the same for each book.

This is a small price to pay (I think) as using the first book as cover and synopsis for the series is enough for whenever I actually check that info 99% of the time (to tell what the series is about when wanting to start a new book, or jog ones memory about the series).

macr0dev commented 6 years ago

As a metadata agent, we have no way to control what plex does with the files themselves, or maintaining a "listened to" state. All we can do is provide metadata. It sounds like what you're talking about would be fundamentally altering the way Plex handles audio files. That is WAY outside the scope of a metadata agent.

All we can do is assist with the artist/album info and provide an image. Anything else stops being a meta-data agent and gets into a core service area.

Also, if the cost of combining books into a series were to mean losing the individual cover art and synopsis - I wouldn't do it. Right now you can filter the web view by genre tag and select the name of a series if it exists. This was the purpose of sticking that data into a genre tag.

jmeosbn commented 6 years ago

Ah, I don’t use the web player..

As for altering the way audio files are handled, the multipart stuff can be done by a scanner plugin (I tested this with a basic scanner), and inserting an extra level in the hierarchy should be also (seems to be supported in docs, but I did not test).

jmeosbn commented 6 years ago

Meant to mention that the “treat album as series” idea could be an option in the library settings as the two are compatible with the same layout - the metadata would just match album name to series (if enabled and book is part of series), or book name otherwise (I’ve simulated this manually and the two co exist without issue - I’ve played with the code also to verify some pieces separately, and audible seems pretty good about providing the series info).

jmeosbn commented 6 years ago

Of course the best solution would be to extend the hierarchy to insert a level for series. I don’t really know Python and a Plex plug-in seems like a bad place to start but as mentioned, I have tested most stuff by creating a modified music scanner plugin, I just haven’t tackled handling the building of the hierarchy (though it does indeed seem to be controlled by the scanner - kind of similar to a channel plugin).

Another advantage of the scanner plugin is that it doesn’t need to be used with the metadat agent if not wanted, and should also allow not pulling in last.fm data by default (I have this implemented but I can’t remember how atm! I think it’s more to do with the server prefs for that new scanner).

macr0dev commented 6 years ago

Brother you've lost me. Is this all just theoretical discussion? Because it seems to have very little to do with the agent. Please excuse me, I'm not trying to be rude. I just have no idea if you're trying to make a suggestion for the agent, not really sure how much the agent can/can't do, or just looking for conversation on the topic.

macr0dev commented 6 years ago

Haven't heard anything back on this in a couple of weeks. Gonna close this for now. You can still comment, but I'm at the moment I'm not seeing anything to be 'done' from this issue.

jmeosbn commented 6 years ago

Not theoretical - as mentioned I’ve had some of the above working.

I’m unsure from your comment if you’re just unwilling to consider using a (minor) scanner plugin to augment how library is handled - or just unaware that it can be?

macr0dev commented 6 years ago

Then just go ahead and mark this in the "unwilling" category. This is a hobby for me. I maintain it because I use it and I share it because it benefits others. Sorry, but I'm just not interested in doing scanner plugins.