Jump to content

Ultimate Collections: drop-dead simple collections (seasonal, keywords, decades, custom posters)


Recommended Posts

jwaymire
Posted (edited)

Hi everyone,

I'd like to share a plugin I built for my own Emby server and ultimately be able to include it in the catalog. I'm an old tech junkie who loves movies, and I wanted my library's collections to feel alive: Halloween movies in October, Christmas movies in December, the best of the 80's all year, without me babysitting any of it.

I tried several of the collection tools out there. They were either too limited, too complicated to set up, or paid. So I made what I was missing: a drop-dead simple collections manager that updates itself and can schedule collections to appear and disappear. The name says what I was after: ultimate control over your collections, while keeping it really simple.

collections-overview.thumb.png.570bf52a24ca0288fe611c6a74276ff5.png

My Collections view. Every collection and every poster here was made by the plugin.

Project page on GitHub: github.com/jdwaymire/UltimateCollections
The full guide with explained examples, 19 ready-made collections, releases and the issue tracker are all there. A star or a bit of feedback is always appreciated.

What it does

  • Builds collections from TMDb keywords, actors, release years and ratings, public MDBList lists, or simply words in the title.
  • Only puts in what you actually own, and keeps every collection up to date: a movie you add today joins its collections tomorrow morning.
  • Seasonal collections appear on their start date and are removed after their end date, every year, on their own.
  • Draws a poster and a backdrop for each collection from the artwork of its best-rated movies, in the colours you pick.
  • Runs as a normal Emby scheduled task (daily at 05:00, or press Run now).

All it needs

  • Emby Server 4.10 or newer.
  • A free TMDb API key. That's it: no subscription, no paid service, no other accounts, no extra software. MDBList lists are public and need no key, and title-based collections don't need the internet at all.

A collection is just a few lines

Everything is set up in one plain text box on the settings page. This is a complete, working collection:

[collection Halloween]
tmdb_keyword  halloween
season        10-01 10-31

That gives you every Halloween movie you own, shown in October only, with its own poster, updated every night. A few more to show the idea:

[collection Top 80's]
release_years 1980 1989
min_rating    7.0              # TMDb average of 7 or better
min_votes     2000             # and well known

[collection Trekkie]
title         Star Trek        # every Star Trek movie AND series in the library
tv            yes

[collection Winter Time]
tmdb_keyword  winter
tmdb_keyword  snow
exclude_genre Horror
exclude_keyword christmas      # those live in the Christmas collection
season        12-01 02-29

The building blocks:

  • tmdb_keyword, tmdb_actor, release_years with min_rating / min_votes: TMDb sources.
  • mdblist user/list: any public MDBList list (great for big holidays).
  • title: matches names in your own library, no API at all.
  • exclude_genre, exclude_keyword: keep the scary stuff out of Thanksgiving.
  • season MM-DD MM-DD: when the collection exists (it can wrap past New Year).
  • tv yes: include shows too.

Posters without the hassle

Every collection gets a generated poster (a darkened mosaic of its best-rated movies with the title across the middle) and a matching backdrop. You don't have to type colour numbers either: press Poster style..., pick a ready-made style or your own colours, and watch the real poster update before you apply it.

poster-style.png.01fa295378abd270c20fd6fcf5809c02.png

The Poster style popup. The preview is drawn by the plugin from the collection's own movies, exactly as the nightly run will make it.

settings-page.png.a4d592f860e81f38ec47b8ab2523ba67.png

The settings page: TMDb key, Dry run, a few options, and the collections text.

Safe by design

  • It only ever changes or deletes collections it created itself. A collection with the same name made any other way is left alone (and the log says so).
  • It never touches your movies, shows or files, only collections and their artwork.
  • A fresh install starts in Dry run: it writes what it would do to its log and changes nothing until you're happy.
  • If a source suddenly returns nothing (a list removed, a network hiccup), the collection is left as it is instead of being emptied.
  • There's an optional Delete All Collections button for starting over with a messy library. It's admin only, you have to type DELETE, and it writes a backup list first.

danger-zone.thumb.png.f513c49f03a5bfb282ad035fd198c084.png

The Danger zone, for when your library's collections have got out of hand. Your media is never touched.

Light on TMDb

Downloaded lists are saved and refreshed once a week (or when you change a collection's sources). The nightly matching against your library costs zero API requests, and downloads are throttled to 4 requests a second. My 19 collections take a few hundred requests for a complete refresh, well within TMDb's free limits.

Installation

  1. Download UltimateCollections.dll: it's attached to this post, and it's also on the Releases page on GitHub.
  2. Copy it into Emby's plugins folder (Linux: /var/lib/emby/plugins/, Windows: %AppData%\Emby-Server\programdata\plugins\, Docker: <config>/plugins/).
  3. Restart Emby Server.
  4. Open Dashboard > Plugins > Ultimate Collections and paste your TMDb read access token.
  5. The text box starts with a small Hacker Movies sample, just for fun. Keep it or add your own.
  6. Go to Dashboard > Scheduled Tasks > Sync collections, press Run now, and read the log.
  7. When the log looks right, untick Dry run and run it again. Your collections appear.

It's not in the plugin catalog, so this manual install is the way for now.

The full guide

The README on GitHub walks through every setting with 13 explained recipes (decades, actors, franchises, mixing sources, seasonal windows and more), and examples/collections.conf has my own 19 collections ready to paste in whole.

Tested on, and feedback

I run it on Emby 4.10.1 on Linux with about 3,100 movies and 40 series. I haven't tried it on Windows or in Docker myself yet, so reports from those setups are very welcome. If something goes wrong, please include:

  • your Emby version and operating system,
  • the [collection ...] block that misbehaves,
  • the matching lines from the plugin's log (the logs folder in plugins/UltimateCollections/). Please leave your TMDb token out.

Free and open source

Ultimate Collections is free, MIT licensed, and the source is on GitHub. I built it mostly for myself, but I like to share. If it makes your movie nights a little better and you feel like it, you can buy me a coffee. It keeps the tinkering going.

As with anything free: use it at your own risk, and back up your server before trying something new.

Thanks for trying it!
Justin

UltimateCollections.dll

Edited by jwaymire
fixed photos
  • Like 1
  • Thanks 1
Posted

Thanks for sharing.

  • Like 1
RedNo7
Posted

This looks excellent - will try it over the weekend!

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