[57] Yozora update

pull/1058/head
meisnate12 2 years ago
parent eb34df6da6
commit 4bf40d0284

@ -1,8 +1,31 @@
# METADATA CHANGES
# Requirements Update (requirements will need to be reinstalled)
Updated plexapi requirement to 4.13.0
Updated num2words requirement to 0.5.12
Updated pathvalidate requirement to 2.5.2
**New Site to request and vote for Features Requests on at [features.metamanager.wiki](https://features.metamanager.wiki/)**
# New Features
Added support for editions in `plex_search`, `smart_filter`, special text overlays, and metadata editing.
Added `item_edition` [item metadata detail](https://metamanager.wiki/en/latest/metadata/details/metadata.html#item-metadata-details) to update the edition of items in a collection
Added `edition` [dynamic collection type](https://metamanager.wiki/en/latest/metadata/dynamic.html#edition)
Added `last_episode_aired_or_never` [date filter](https://metamanager.wiki/en/latest/metadata/filters.html#date-filters). thanks @axsuul#0591
Added `versions` [number filter](https://metamanager.wiki/en/latest/metadata/filters.html#number-filters)
Added `imdb_watchlist` [builder](https://metamanager.wiki/en/latest/metadata/builders/imdb.html#imdb-watchlist)
Added `item_genre` [item metadata detail](https://metamanager.wiki/en/latest/metadata/details/metadata.html#item-metadata-details) to update the genres of items in a collection
Added `plex_watchlist` [Builder](https://metamanager.wiki/en/latest/metadata/builders/plex.html#plex-watchlist)
Added `stroke_width` and `stroke_color` as options for text overlays
Added multiple new [special text variables](https://metamanager.wiki/en/latest/metadata/overlay.html#special-text-variables) and modifiers.
Added support for the [AniDB API](https://metamanager.wiki/en/latest/config/anidb.html)
Adds `mass_original_title_update` [library operation](https://metamanager.wiki/en/latest/config/operations.html)
Adds many new options to the various mass_update [library operations](https://metamanager.wiki/en/latest/config/operations.html)
Added the ability to give a list of sorts with `plex_search` and `smart_filter` to create a tiered sort
# Default Metadata Changes
Added Common Sense Selection [Movie](https://www.commonsensemedia.org/reviews/category/movie/tag/common-sense-selections-31822)] and [Show](https://www.commonsensemedia.org/reviews/category/tv/tag/common-sense-selections-31822) collections to `PMM/chart/other`
Added several [visual styles for Separators](https://github.com/meisnate12/Plex-Meta-Manager-Images/tree/master/separators) to match PLEX's Categories theming. Called using `sep_style` template variable
# OVERLAY CHANGES
# Default Overlay Changes
Enhanced resolution.yml and special_release.yml to add International Cut, Ultimate Cut, Anniversary Cut, Theatrical Cut, Collectors Edition for both dovetail overlays with resolutions and box overlays
Enhanced resolution.yml and special_release.yml to support both dovetail overlays with resolutions and box overlays when resolutions are not being used. Regexes were enhanced to support the new TRaSH naming guides with the `{edition-` naming scheme
Added [Common Sense Age Rating](https://www.commonsensemedia.org/) overlays, called with `- git: PMM/overlays/commonsense` and to be used in combination with operation `mass_content_rating_update: mdb_commonsense`
@ -16,5 +39,12 @@ Added Oscars Ribbon overlay for [Best Picture Winners](https://www.imdb.com/sear
Added visual indicator of multiple versions of media, called with `- git: PMM/overlays/versions`
- See "The Incredible Hulk" and "Thor" in [this image]([https://cdn.discordapp.com/attachments/927936511238869042/1021788091037519892/unknown.png)
# OTHER CHANGES
# Other Default Changes
Changed various [template names](https://github.com/meisnate12/Plex-Meta-Manager-Configs/blob/master/PMM/templates.yml). If you are running local copies of the PMM default files which call the git version of the templates file , it is strongly recommended you check template names on all your local file collections.
# Bug Fixes
Fixes Addon Images
Fix Configs Repo Versioning
Fixes codec and profile filters
Fixes Ratings Error
Various other minor fixes

@ -1 +1 @@
1.17.3-develop56
1.17.3-develop57

@ -87,7 +87,7 @@ templates:
conditions:
- style: standard
value: <<standard_value>>
collection_level: <<overlay_level>>
overlay_level: <<overlay_level>>
allowed_library_types: <<use_<<slug>>>>
ignore_blank_results: true
overlay:

@ -38,7 +38,7 @@ templates:
back_radius: 30
back_width: 188
back_height: 105
collection_level: <<overlay_level>>
overlay_level: <<overlay_level>>
ignore_blank_results: true
overlay:
name: <<overlay_name>>

@ -74,7 +74,7 @@ templates:
back_radius: 30
back_width: 300
back_height: 105
collection_level: <<overlay_level>>
overlay_level: <<overlay_level>>
allowed_library_types: <<use_<<slug>>>>
ignore_blank_results: true
overlay:

@ -46,7 +46,6 @@ templates:
- use_<<resolution>>
- use_<<alt>>
- all
- resolution
default:
resolution: ""
alt: ""

@ -125,9 +125,9 @@ templates:
filters:
filepath.regex:
- <<regex1>>
- <<regex1>>
- "edition-(?i)\b<<search>>\b" # New TRaSH naming
- "(?<=[0-9]{4}[)}>\]]\s)\b<<search>>\b" # Original TRaSH naming
- <<regex2>>
- 'edition-(?i)\b<<search>>\b' # New TRaSH naming
- '(?<=[0-9]{4}[)}>\]]\s)\b<<search>>\b' # Original TRaSH naming
overlays:
Directors-Cut:
@ -186,14 +186,14 @@ overlays:
template: {name: Edition, weight: 50, slug: ultimate, search: Ultimate, dovetail: true}
IMAX-E:
template: {name: Edition, weight: 40, slug: enhanced, dovetail: false, regex1: "(?i)\bIMAX Enhanced\b|^(?=.*(DSNP|Disney\+|CORE(?=[ ._-]web[ ._-]?(dl|rip)\b)|\bBC(?=[ ._-]web[ ._-]?(dl|rip)\b)|IMAX[- .]Enhanced)\b)(?=.*\b(IMAX|IMAX[- .]Enhanced)\b).*"}
template: {name: Edition, weight: 40, slug: enhanced, dovetail: false, regex1: '(?i)\bIMAX Enhanced\b|^(?=.*(DSNP|Disney\+|CORE(?=[ ._-]web[ ._-]?(dl|rip)\b)|\bBC(?=[ ._-]web[ ._-]?(dl|rip)\b)|IMAX[- .]Enhanced)\b)(?=.*\b(IMAX|IMAX[- .]Enhanced)\b).*'}
IMAX-E-Dovetail:
template: {name: Edition, weight: 40, slug: enhanced, dovetail: true, regex1: "(?i)\bIMAX Enhanced\b|^(?=.*(DSNP|Disney\+|CORE(?=[ ._-]web[ ._-]?(dl|rip)\b)|\bBC(?=[ ._-]web[ ._-]?(dl|rip)\b)|IMAX[- .]Enhanced)\b)(?=.*\b(IMAX|IMAX[- .]Enhanced)\b).*"}
template: {name: Edition, weight: 40, slug: enhanced, dovetail: true, regex1: '(?i)\bIMAX Enhanced\b|^(?=.*(DSNP|Disney\+|CORE(?=[ ._-]web[ ._-]?(dl|rip)\b)|\bBC(?=[ ._-]web[ ._-]?(dl|rip)\b)|IMAX[- .]Enhanced)\b)(?=.*\b(IMAX|IMAX[- .]Enhanced)\b).*'}
IMAX:
template: {name: Edition, weight: 30, slug: imax, dovetail: false, regex1: "(?i)\bIMAX\b"}
template: {name: Edition, weight: 30, slug: imax, dovetail: false, regex1: '(?i)\bIMAX\b'}
IMAX-Dovetail:
template: {name: Edition, weight: 30, slug: imax, dovetail: true, regex1: "(?i)\bIMAX\b"}
template: {name: Edition, weight: 30, slug: imax, dovetail: true, regex1: '(?i)\bIMAX\b'}
Remastered:
template: {name: Edition, weight: 20, slug: remastered, search: (Remaster|Remastered|4k Remaster|4k Remastered), dovetail: false}
@ -201,6 +201,6 @@ overlays:
template: {name: Edition, weight: 20, slug: remastered, search: (Remaster|Remastered|4k Remaster|4k Remastered), dovetail: true}
Criterion:
template: {name: Edition, weight: 10, slug: criterion, dovetail: false, regex1: "(?i)Criterion", regex2: "(?i)\[CC\]"}
template: {name: Edition, weight: 10, slug: criterion, dovetail: false, regex1: '(?i)Criterion', regex2: '(?i)\[CC\]'}
Criterion-Dovetail:
template: {name: Edition, weight: 10, slug: criterion, dovetail: true, regex1: "(?i)Criterion", regex2: "(?i)\[CC\]"}
template: {name: Edition, weight: 10, slug: criterion, dovetail: true, regex1: '(?i)Criterion', regex2: '(?i)\[CC\]'}

@ -0,0 +1,57 @@
# Actor Default Metadata File
The `- pmm: actor` Metadata File is used to dynamically create collections based on the most popular actors/actresses in your library.
Example Collections Created:
![](images/actor1.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: actor
```
## Rainier Style
Below is a screnshot of the alternative `Rainier` style which can be set via template variables
![](images/actor2.png)
## Template Variables
Template Variables can be used to manipulate the actor file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the actor file.
| Variable | Usage | Default Value | Values |
|:-------------------|:-------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| style | Controls the visual theme of the collections created | `bw` | `bw` - Black and white theme or<br/>`rainier` - Rainier theme |
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `17` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: actor
template_variables:
style: rainier
sort_by: title.asc
collection_section: 12
collection_mode: show_items
use_separator: false
sep_style: purple
```

@ -0,0 +1,52 @@
# Audio Language Default Metadata File
The `- pmm: audio_language` Metadata File is used to dynamically create collections based on the audio languages available in your library.
Example Collections Created:
![](images/audio_language.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: audio_language
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.
| Variable | Usage | Default Value | Values |
|:--------------------|:-----------------------------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `10` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_other | Controls whether an "Other" collection is created for any items not included in the initial criteria | `true` | `true` or `false` |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: audio_language
template_variables:
sort_by: title.asc
collection_section: 20
collection_mode: show_items
use_other: false
use_separator: false
sep_style: purple
```

@ -0,0 +1,50 @@
# BAFTA Default Metadata File
The `- pmm: chart/bafta` Metadata File is used to dynamically create collections based on the genres available in your library.
This file also merges similarly named genres (such as "Sci-Fi", "SciFi" and "Sci-Fi & Fantasy") into one ("Science Fiction")
Example Collections Created:
![](images/bafta.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: chart/bafta
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.
| Variable | Usage | Default Value | Values |
|:-------------------|:-------------------------------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `10` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: chart/bafta
template_variables:
sort_by: title.asc
collection_section: 5
collection_mode: show_items
use_separator: false
sep_style: red
```

@ -0,0 +1,54 @@
# UK Content Rating Default Metadata File
The `- pmm: content_rating_uk` Metadata File is used to dynamically create collections based on the content ratings available in your library.
If you do not use the UK-based rating system within Plex, this file will attempt to match the standard ratings (such as PG-13) to the respective UK rating system (such as 12)
Example Collections Created:
![](images/content_rating_uk.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: content_rating_uk
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.
| Variable | Usage | Default Value | Values |
|:-------------------|:-----------------------------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `10` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_other | Controls whether an "Other" collection is created for any items not included in the initial criteria | `true` | `true` or `false` |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: content_rating_uk
template_variables:
sort_by: title.asc
collection_section: 21
collection_mode: show_items
use_other: false
use_separator: false
sep_style: blue
```

@ -0,0 +1,637 @@
# Default Collections & Overlays
Plex Meta Manager includes a pre-created set of Metadata Files and Overlay Files which can be found in the "defaults" folder in the root of your Plex Meta Manager installation directory.
These files offer an easy-to-use and customizable set of Collections and Overlays that the user can achieve without having to worry about creating the files that makes the collections and overlays possible.
All Collections come with a matching poster to make a clean, consistent set of collections in your library. These files are stored in the [Plex Meta Manager Images](https://github.com/meisnate12/Plex-Meta-Manager-Images) Repository and each poster is downloaded straight to your Plex Collection when you run Plex Meta Manager.
It should be noted that users running the on [nightly branch](https://metamanager.wiki/en/nightly/home/kb.html#how-do-i-switch-to-the-nightly-branch) of Plex Meta Manager will receive all updates to the PMM Defaults as soon as they are published via [GitHub](https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/PMM), which may at times involve bugs or implementations that need to be further addressed. Users of the [develop](https://metamanager.wiki/en/nightly/home/kb.html#how-do-i-switch-to-the-develop-branch) and [master](https://metamanager.wiki/en/nightly/home/kb.html#how-do-i-switch-back-to-the-master-branch) branches will only receive updated Defaults files when an update to Plex Meta Manager is released - this helps to protect to keep these branches stable and prevent bugs from reaching the wider user-base.
Credits to Bullmoose20 and Yozora for helping drive this entire Default Set of Configs through the concept, design and implementation.
Special thanks to Magic815 for the overlay image inspiration and base template.
Please consider [donating](https://github.com/sponsors/meisnate12) towards the project.
## Configurations
To run a file in git you can simply add it to your `metadata_path` (For Metadata Files) or `overlay_path` (For Overlay Files) using `git` like so:
```yaml
libraries:
Movies:
metadata_path:
- git: PMM/actor
- git: PMM/genre
overlay_path:
- remove_overlays: false
- git: PMM/overlays/imdb_top_250
- git: PMM/overlays/ratings
```
## Overlays
The default set of overlays are a combination of Positional Overlays and Text Overlays.
### Example Poster Overlays
![](movie-overlays1-annotated.png)
![](movie-overlays2-annotated.png)
<details>
<summary>Click to expand sample config.yml Movies overlays section:</summary>
```yaml
libraries:
Movies:
overlay_path:
- remove_overlays: false
- reapply_overlay: true
- git: PMM/overlays/resolution # 1
- git: PMM/overlays/audio_codec # 2
- git: PMM/overlays/mediastinger # 3
- git: PMM/overlays/special_release # 4
- git: PMM/overlays/ratings # 5,6,7
template_variables:
rating1: user # 5 as this is user and mass_user_rating_update: mdb_tomatoes
rating1_image: rt_tomato # 5 as this is user and mass_user_rating_update: mdb_tomatoes
rating1_font: config/metadata/overlays/fonts/Adlib.ttf # 5 local font accessible to PMM
rating1_font_size: 63 # 5 adjusted font size to fit rating
rating2: critic # 6 as this is critic and mass_critic_rating_update: imdb
rating2_image: imdb # 6 as this is critic and mass_critic_rating_update: imdb
rating2_font: config/metadata/overlays/fonts/Impact.ttf # 6 local font accessible to PMM
rating2_font_size: 70 # 6 adjusted font size to fit rating
rating3: audience # 7 as this is audience and mass_audience_rating_update: tmdb
rating3_image: tmdb # 7 as this is audience and mass_audience_rating_update: tmdb
rating3_font: config/metadata/overlays/fonts/Avenir_95_Black.ttf # 7 local font accessible to PMM
rating3_font_size: 70 # 7 adjusted font size to fit rating
horizontal_position: right # the set of ratings is on the right of the poster
- git: PMM/overlays/streaming # 8
- git: PMM/overlays/video_format # 9
- git: PMM/overlays/audio_language # 10
- git: PMM/overlays/oscars # 11
template_variables: # Bottom right sash is used by more than one overlay so a weight for priority is applied
weight: 40 # Weight of 40 applies if more than 1 sash is applied in bottom right
- git: PMM/overlays/imdb_top_250 # 12
template_variables: # Bottom right sash is used by more than one overlay so a weight for priority is applied
weight: 30 # Weight of 30 applies if more than 1 sash is applied in bottom right
- git: PMM/overlays/rt_cert_fresh # 13
template_variables: # Bottom right sash is used by more than one overlay so a weight for priority is applied
weight: 20 # Weight of 20 applies if more than 1 sash is applied in bottom right
- git: PMM/overlays/mc_must_see # NOT SHOWN, however would apply the "MetaCritic Must See" sash in the bottom right
template_variables: # Bottom right sash is used by more than one overlay so a weight for priority is applied
weight: 10 # Weight of 10 applies if more than 1 sash is applied in bottom right
- git: PMM/overlays/commonsense_selection # NOT SHOWN, however would apply the "Commonsense Selected Families" sash in the bottom right
template_variables: # Bottom right sash is used by more than one overlay so a weight for priority is applied
weight: 5 # Weight of 5 applies if more than 1 sash is applied in bottom right
operations:
mass_user_rating_update: mdb_tomatoes # 5 This operation will update the user rating in plex with Rotten Tomatoes ratings information
mass_critic_rating_update: imdb # 6 This operation will update the critic rating in plex with IMDb ratings information
mass_audience_rating_update: tmdb # 7 This operation will update the audience rating in plex with TMDb ratings information
```
</details>
### Example TV Shows - Show Overlays
![](tvshow-poster-annotated.png)
<details>
<summary>Click to expand sample config.yml TV Shows overlays section for the Show Poster:</summary>
```yaml
libraries:
TV Shows:
overlay_path:
- remove_overlays: false
- reapply_overlay: true
- git: PMM/overlays/resolution # 1
- git: PMM/overlays/audio_codec # 2
- git: PMM/overlays/mediastinger # 3
- git: PMM/overlays/ratings # 4,5,6
template_variables:
rating1: user # 4 as this is user and mass_user_rating_update: mdb_tomatoes
rating1_image: rt_tomato # 4 as this is user and mass_user_rating_update: mdb_tomatoes
rating1_font: config/metadata/overlays/fonts/Adlib.ttf # 4 local font accessible to PMM
rating1_font_size: 63 # 4 adjusted font size to fit rating
rating2: critic # 5 as this is critic and mass_critic_rating_update: imdb
rating2_image: imdb # 5 as this is critic and mass_critic_rating_update: imdb
rating2_font: config/metadata/overlays/fonts/Impact.ttf # 5 local font accessible to PMM
rating2_font_size: 70 # 5 adjusted font size to fit rating
rating3: audience # 6 as this is audience and mass_audience_rating_update: tmdb
rating3_image: tmdb # 6 as this is audience and mass_audience_rating_update: tmdb
rating3_font: config/metadata/overlays/fonts/Avenir_95_Black.ttf # 6 local font accessible to PMM
rating3_font_size: 70 # 6 adjusted font size to fit rating
horizontal_position: right # the set of ratings is on the right of the poster
- git: PMM/overlays/streaming # 7
- git: PMM/overlays/video_format # 8
- git: PMM/overlays/imdb_top_250 # 9
template_variables: # Bottom right sash is used by more than one overlay so a weight for priority is applied
weight: 30 # Weight of 30 applies if more than 1 sash is applied in bottom right
- git: PMM/overlays/rt_cert_fresh # 10
template_variables: # Bottom right sash is used by more than one overlay so a weight for priority is applied
weight: 20 # Weight of 20 applies if more than 1 sash is applied in bottom right
- git: PMM/overlays/mc_must_see # NOT SHOWN, however would apply the "MetaCritic Must See" sash in the bottom right
template_variables: # Bottom right sash is used by more than one overlay so a weight for priority is applied
weight: 10 # Weight of 10 applies if more than 1 sash is applied in bottom right
- git: PMM/overlays/commonsense_selection # NOT SHOWN, however would apply the "Commonsense Selected Families" sash in the bottom right
template_variables: # Bottom right sash is used by more than one overlay so a weight for priority is applied
weight: 5 # Weight of 5 applies if more than 1 sash is applied in bottom right
operations:
mass_user_rating_update: mdb_tomatoes # 4 This operation will update the user rating in plex with Rotten Tomatoes ratings information
mass_critic_rating_update: imdb # 5 This operation will update the critic rating in plex with IMDb ratings information
mass_audience_rating_update: tmdb # 6 This operation will update the audience rating in plex with TMDb ratings information
```
</details>
### Example TV Shows - Season Overlays
![](tvshow-poster-season-annotated.png)
<details>
<summary>Click to expand sample config.yml TV Shows overlays section for the Season Poster:</summary>
```yaml
libraries:
TV Shows:
overlay_path:
- remove_overlays: false
- reapply_overlay: true
- git: PMM/overlays/resolution # 1
template_variables:
overlay_level: season
- git: PMM/overlays/audio_codec # 2
template_variables:
overlay_level: season
- git: PMM/overlays/video_format # 3
template_variables:
overlay_level: season
```
</details>
### Example TV Shows - Episode Overlays
![](tvshow-poster-episode-annotated.png)
<details>
<summary>Click to expand sample config.yml TV Shows overlays section for the Episode Poster:</summary>
```yaml
libraries:
TV Shows:
overlay_path:
- remove_overlays: false
- reapply_overlay: true
- git: PMM/overlays/resolution # 1
template_variables:
overlay_level: episode
- git: PMM/overlays/audio_codec # 2
template_variables:
overlay_level: episode
- git: PMM/overlays/ratings # 3,4
template_variables:
rating1: critic # 3 as this is critic and mass_critic_rating_update: imdb
rating1_image: imdb # 3 as this is critic and mass_critic_rating_update: imdb
rating1_font: config/metadata/overlays/fonts/Impact.ttf # 3 local font accessible to PMM
rating1_font_size: 70 # 3 adjusted font size to fit rating
rating2: audience # 4 as this is audience and mass_audience_rating_update: tmdb
rating2_image: tmdb # 4 as this is audience and mass_audience_rating_update: tmdb
rating2_font: config/metadata/overlays/fonts/Avenir_95_Black.ttf # 4 local font accessible to PMM
rating2_font_size: 70 # 4 adjusted font size to fit rating
horizontal_position: right # the set of ratings is on the right of the poster
overlay_level: episode
- git: PMM/overlays/video_format # 5
template_variables:
overlay_level: episode
- git: PMM/overlays/episode_info # 6
template_variables:
overlay_level: episode
- git: PMM/overlays/runtimes # 7
template_variables:
overlay_level: episode
operations:
mass_episode_critic_rating_update: imdb # 3 This operation will update the episodes critic rating in plex with IMDb ratings information
mass_episode_audience_rating_update: tmdb # 4 This operation will update the episodes audience rating in plex with TMDb ratings information
```
</details>
## Separators
By default, most metadata files use separators to denote different sections of collection like actor collections vs studio collections.
<details>
<summary>Click to expand to see an example of Separators.</summary>
![](separators.jpg)
</details>
* Can be turned off by [customizing your config](#customizing-configs)
## Collection Section Order
Almost every default metadata file has a `collection_section` attribute. These attributes determine the order of the various sections and can be set by [customizing your config](#customizing-configs).
For example: `collection_section:01` translates to `sort_title: "!<<collection_section>><<pre>><<order_<<key>>>><<sort>>"` and so for `genre.yml` if you have a `Fantasy` collection, plex is going to show `!06_Fantasy`
This is the default PMM collection ordering:
| Collection | Order |
|:-------------------------------------|------------------------|
| `PMM/movie/seasonal.yml` | collection_section: 00 |
| `PMM/chart/anilist.yml` | collection_section: 01 |
| `PMM/chart/basic.yml` | collection_section: 01 |
| `PMM/chart/imdb.yml` | collection_section: 01 |
| `PMM/chart/myanimelist.yml` | collection_section: 01 |
| `PMM/chart/other.yml` | collection_section: 01 |
| `PMM/chart/tautulli.yml` | collection_section: 01 |
| `PMM/chart/tmdb.yml` | collection_section: 01 |
| `PMM/chart/trakt.yml` | collection_section: 01 |
| `PMM/movie/universe.yml` | collection_section: 02 |
| `PMM/streaming.yml` | collection_section: 03 |
| `PMM/show/network.yml` | collection_section: 04 |
| `PMM/genre.yml` | collection_section: 06 |
| `PMM/studio.yml` | collection_section: 07 |
| `PMM/movie/country.yml` | collection_section: 09 |
| `PMM/show/country.yml` | collection_section: 09 |
| `PMM/audio_language.yml` | collection_section: 10 |
| `PMM/subtitle_language.yml` | collection_section: 11 |
| `PMM/movie/decade.yml` | collection_section: 12 |
| `PMM/show/decade.yml` | collection_section: 12 |
| `PMM/year.yml` | collection_section: 13 |
| `PMM/content_rating_uk.yml` | collection_section: 14 |
| `PMM/movie/content_rating_us.yml` | collection_section: 14 |
| `PMM/show/content_rating_us.yml` | collection_section: 14 |
| `PMM/resolution.yml` | collection_section: 15 |
| `PMM/resolution_standards.yml` | collection_section: 15 |
| `PMM/award/bafta.yml` | collection_section: 16 |
| `PMM/award/cannes.yml` | collection_section: 16 |
| `PMM/award/choice.yml` | collection_section: 16 |
| `PMM/award/emmy.yml` | collection_section: 16 |
| `PMM/award/golden.yml` | collection_section: 16 |
| `PMM/award/oscars.yml` | collection_section: 16 |
| `PMM/award/other.yml` | collection_section: 16 |
| `PMM/award/separator.yml` | collection_section: 16 |
| `PMM/award/spirit.yml` | collection_section: 16 |
| `PMM/award/sundance.yml` | collection_section: 16 |
| `PMM/actor.yml` | collection_section: 17 |
| `PMM/movie/director.yml` | collection_section: 18 |
| `PMM/movie/producer.yml` | collection_section: 19 |
| `PMM/movie/writer.yml` | collection_section: 20 |
## Ratings Overlays
By default for Movies in Plex, the `Ratings Source` dropdown (`#3`) below, can come from Rotten Tomatoes (and includes Critic Ratings and Audience Ratings) or IMDb (Audience Ratings). This only changes the tiny icons displayed and where Plex will retrieve the ratings from upon initial scan and import of the media metadata.
**Plex Meta Manager can insert up to three ratings of your choice into the three spots regardless of what you choose in the `Advanced` tab of that Plex library**
![](ratings_source.png)
Plex has three available spots in the Plex DB to store ratings and thus Plex Meta Manager can be used to insert ratings sources of your choice into those spots. They are known as the User Rating (`#1`), Critic Rating (`#2`), and Audience Rating (`#3`).
**Note that the little icons cannot be changed and that the numbers next to the little icons are reflected in the poster ratings overlay**
![](ratings_spot.png)
To be able to insert the ratings you want, Plex Meta Manager operations need to be defined. In this example below, User ratings (`#1`) are being filled with Rotten Tomatoes Critics Ratings. Critic ratings (`#2`) are filled with IMDb, and Audience ratings (`#3`) are filled with TMDb.
**mass_*_rating_update** sources can be found here: [operations](../../config/operations)
![](ratings_operations.png)
Finally, to show the ratings on the poster, the following was added to the `overlay_path` section in the `config.yml` file to post Rotten Tomatoes Critics Ratings in (`#1`), IMDb ratings in (`#2`), and TMDb ratings in (`#3`)
![](ratings_overlay_path.png)
## Customizing Configs
Configs can be customized using the `template_variables` attribute when calling the file. These `template_variables` will be given to every template call in the file which allows them to affect how that file runs.
This example changes the ratings overlay to work on episodes.
```yaml
libraries:
TV Shows:
overlay_path:
- git: PMM/overlays/ratings
template_variables:
overlay_level: episode
```
Each file has a comment block at the top showing the available `template_variables` for each file. For example the [`PMM/genre`](https://github.com/meisnate12/Plex-Meta-Manager-Configs/blob/master/PMM/genre.yml) has this:
```yaml
#############################################################
# Dynamic Genre Collections #
# Created by Yozora, Bullmoose20, & Sohjiro #
#############################################################
# Call this from your config.yml (Movie or Show) #
# If nothing is specified these are the defaults #
# #
# metadata_path: #
# - git: PMM/genre #
# template_variables: #
# # Turn the separator collection on/off #
# use_separator: true #
# # Sets how the collection is sorted #
# sort_by: release.desc #
# # Sets the collection mode of the collection #
# collection_mode: #
# # Sets the value at the start of the sort title #
# collection_section: "06" #
#############################################################
```
Each of these when passed will change how the collection runs slightly.
* `use_separator` Turn the separator collection on/off
* `sort_by` Sets how the collection is sorted
* `collection_mode` Sets the collection mode of the collection
* `collection_section` Sets the value at the start of the sort title
**In addition to the defined `template_variables` each file in the PMM Folder has access to the `radarr_add_missing` and `sonarr_add_missing` template variables and for dynamic collections most attributes can be passed as template variables**
For example if you want yearly oscar collections that go back 10 years instead of 5 all of which gets sent to radarr use the `data` and `radarr_add_missing` template variables.
```yaml
libraries:
Movies:
metadata_path:
- git: PMM/award/oscars
template_variables:
radarr_add_missing: true
data:
starting: current_year-10
ending: current_year
```
Or maybe you want to change the number of actor collections made using PMM/actor.
```yaml
libraries:
Movies:
overlay_path:
- git: PMM/actor
template_variables:
collection_mode: hide
data:
depth: 5
limit: 50
```
Or maybe you want to change the collection sort order of the genre collections using PMM/genre.
```yaml
libraries:
Movies:
metadata_path:
- git: PMM/genre
template_variables:
collection_section: 11
```
Or maybe you want to disable separators globally per library.
```yaml
libraries:
LIBRARYNAME:
template_variables:
use_separator: false
metadata_path:
```
Alternatively it can be turned off individually per git file:
```yaml
libraries:
LIBRARYNAME:
metadata_path:
- git: PMM/<file1> # separator is disabled
template_variables:
use_separator: false
- git: PMM/<file2> # separator is enabled by default
- git: PMM/<file3> # separator is disabled
template_variables:
use_separator: false
```
## Errors
If there are collections being made that have configuration errors or missing posters please either bring it up in our Discord or raise an Issue on the [Configs Repo](https://github.com/meisnate12/Plex-Meta-Manager-Configs/issues/new/choose).
## Example Configuration File
<details>
<summary>Click to expand sample config.yml file:</summary>
```yaml
libraries:
Movies:
metadata_path:
- git: PMM/award/bafta
- git: PMM/award/cannes
- git: PMM/award/choice
- git: PMM/award/golden
- git: PMM/award/oscars
- git: PMM/award/other
- git: PMM/award/spirit
- git: PMM/award/sundance
- git: PMM/chart/anilist
- git: PMM/chart/basic
- git: PMM/chart/imdb
- git: PMM/chart/myanimelist
- git: PMM/chart/other
- git: PMM/chart/tautulli
- git: PMM/chart/tmdb
- git: PMM/chart/trakt
- git: PMM/actor
- git: PMM/audio_language
- git: PMM/movie/content_rating_us # Choose content_rating_uk or content_rating_us
- git: PMM/genre
- git: PMM/resolution_standards # Choose resolution_standards or resolution
- git: PMM/streaming
- git: PMM/studio
- git: PMM/subtitle_language
- git: PMM/year
- git: PMM/movie/country
- git: PMM/movie/decade
- git: PMM/movie/director
- git: PMM/movie/franchise
- git: PMM/movie/universe
- git: PMM/movie/producer
- git: PMM/movie/seasonal
- git: PMM/movie/writer
overlay_path:
- remove_overlays: false
- git: PMM/overlays/audio_codec
- git: PMM/overlays/audio_language
- git: PMM/overlays/commonsense
- git: PMM/overlays/direct_play
- git: PMM/overlays/mediastinger
- git: PMM/overlays/imdb_top_250
- git: PMM/overlays/mc_must_see
- git: PMM/overlays/rt_cert_fresh
- git: PMM/overlays/commonsense_selection
- git: PMM/overlays/ratings
template_variables:
rating1: critic
rating1_image: rt_tomato
- git: PMM/overlays/resolution
- git: PMM/overlays/special_release
- git: PMM/overlays/streaming
- git: PMM/overlays/versions
- git: PMM/overlays/video_format
TV Shows:
metadata_path:
- git: PMM/award/choice
- git: PMM/award/golden
- git: PMM/award/emmy
- git: PMM/chart/anilist
- git: PMM/chart/basic
- git: PMM/chart/imdb
- git: PMM/chart/myanimelist
- git: PMM/chart/other
- git: PMM/chart/tautulli
- git: PMM/chart/tmdb
- git: PMM/chart/trakt
- git: PMM/actor
- git: PMM/audio_language
- git: PMM/show/content_rating_us # Choose content_rating_uk or content_rating_us
- git: PMM/genre
- git: PMM/resolution_standards # Choose resolution_standards or resolution
- git: PMM/streaming
- git: PMM/studio
- git: PMM/subtitle_language
- git: PMM/year
- git: PMM/show/country
- git: PMM/show/decade
- git: PMM/show/network
overlay_path:
- remove_overlays: false
- git: PMM/overlays/audio_codec
- git: PMM/overlays/audio_codec
template_variables:
overlay_level: episode
- git: PMM/overlays/audio_codec
template_variables:
overlay_level: season
- git: PMM/overlays/audio_language
- git: PMM/overlays/audio_language
template_variables:
overlay_level: episode
- git: PMM/overlays/audio_language
template_variables:
overlay_level: season
- git: PMM/overlays/commonsense
- git: PMM/overlays/commonsense
template_variables:
overlay_level: episode
- git: PMM/overlays/commonsense
template_variables:
overlay_level: season
- git: PMM/overlays/direct_play
- git: PMM/overlays/direct_play
template_variables:
overlay_level: episode
- git: PMM/overlays/direct_play
template_variables:
overlay_level: season
- git: PMM/overlays/episode_info
template_variables:
overlay_level: episode
- git: PMM/overlays/mediastinger
- git: PMM/overlays/mediastinger
template_variables:
overlay_level: episode
- git: PMM/overlays/mediastinger
template_variables:
overlay_level: season
- git: PMM/overlays/imdb_top_250
- git: PMM/overlays/imdb_top_250
template_variables:
overlay_level: episode
- git: PMM/overlays/imdb_top_250
template_variables:
overlay_level: season
- git: PMM/overlays/mc_must_see
- git: PMM/overlays/mc_must_see
template_variables:
overlay_level: episode
- git: PMM/overlays/mc_must_see
template_variables:
overlay_level: season
- git: PMM/overlays/rt_cert_fresh
- git: PMM/overlays/rt_cert_fresh
template_variables:
overlay_level: episode
- git: PMM/overlays/rt_cert_fresh
template_variables:
overlay_level: season
- git: PMM/overlays/commonsense_selection
- git: PMM/overlays/commonsense_selection
template_variables:
overlay_level: episode
- git: PMM/overlays/commonsense_selection
template_variables:
overlay_level: season
- git: PMM/overlays/ratings
template_variables:
rating2: audience
rating2_image: imdb
- git: PMM/overlays/ratings
template_variables:
rating2: audience
rating2_image: imdb
overlay_level: episode
- git: PMM/overlays/resolution
- git: PMM/overlays/resolution
template_variables:
overlay_level: episode
- git: PMM/overlays/resolution
template_variables:
overlay_level: season
- git: PMM/overlays/runtimes
template_variables:
overlay_level: episode
- git: PMM/overlays/special_release
- git: PMM/overlays/special_release
template_variables:
overlay_level: episode
- git: PMM/overlays/special_release
template_variables:
overlay_level: season
- git: PMM/overlays/streaming
- git: PMM/overlays/versions
- git: PMM/overlays/versions
template_variables:
overlay_level: episode
- git: PMM/overlays/versions
template_variables:
overlay_level: season
- git: PMM/overlays/versions
template_variables:
overlay_level: show
- git: PMM/overlays/video_format
- git: PMM/overlays/video_format
template_variables:
overlay_level: episode
- git: PMM/overlays/video_format
template_variables:
overlay_level: season
playlist_files:
- git: PMM/playlist
```
</details>

@ -0,0 +1,101 @@
# List of Defaults Files
The below table outlines the available Defaults files which can be called via `metadata_path` (for Collections), `overlay_path` (for Overlays) and `playlist_files` (for Playlists).
## Collections
These files can generally be used on both Movie and Show library-types, or are part of a category of collection (such as Award Shows.)
These collections are applied by calling the below paths into the `metadata_path:` section of your config.yml
### General Collections
| Theme | config.yml entry | Example Collections Created | Works with Movies | Works with Shows |
|:--------------------|:---------------------------------------|:-------------------------------------------------------|:-----------------:|:----------------:|
| Actor | `actor` | Chris Hemsworth, Margot Robbie | &#9989; | &#9989; |
| Audio Language | `audio_language` | French Audio, Korean Audio | &#9989; | &#9989; |
| Content Rating (UK) | `content_rating_uk` | U, PG, 12A | &#9989; | &#9989; |
| Content Rating (US) | `content_rating_us` | G, PG, NC-17 | &#9989; | &#9989; |
| Country | `country` | Belgium, India | &#9989; | &#9989; |
| Decade | `decade` | Best of 2012, Best of 2022 | &#9989; | &#9989; |
| Director | `director` | Steven Spielberg (Director), Olivia Wilde (Director) | &#9989; | &#10060; |
| Franchise | `franchise` | Star Wars: Skywalker Saga, Godzilla (Anime) | &#9989; | &#9989; |
| Genre | `genre` | Action, Drama, Science Fiction | &#9989; | &#9989; |
| Network | `network` | Disney Channel, Lifetime | &#10060; | &#9989; |
| Producer | `producer` | James Cameron (Producer), Reese Witherspoon (Producer) | &#9989; | &#10060; |
| Resolution | `resolution` OR `resolution_standards` | 4K, 1080 OR Ultra HD, Full HD | &#9989; | &#9989; |
| Seasonal | `seasonal` | Easter, Christmas | &#9989; | &#10060; |
| Streaming | `streaming` | Disney+ Movies, HBO Max Shows | &#9989; | &#9989; |
| Studio | `studio` | DreamWorks Studios, Walt Disney Pictures | &#9989; | &#9989; |
| Subtitle Language | `subtitle_language` | German Subtitles, Swedish Subtitles | &#9989; | &#9989; |
| Universe | `universe` | Marvel Cinematic Universal, Wizarding World | &#9989; | &#10060; |
| Year | `year` | Best of 2010, Best of 2019 | &#9989; | &#9989; |
| Writer | `writer` | James Cameron (Writer), Lilly Wachowski (Writer) | &#9989; | &#10060; |
### Award Show Collections
| Award Show | config.yml entry | Example Collections Created | Works with Movies | Works with Shows |
|:---------------|:-----------------|----------------------------------|:-----------------:|:----------------:|
| BAFTA | `award/bafta` | BAFTA Best Films, BAFTA 2021 | &#9989; | &#10060; |
| Cannes | `award/cannes` | Cannes - Palme d'or, Cannes 2018 | &#9989; | &#10060; |
| Critics Choice | `award/choice` | Critics Choice Awards 2020 | &#9989; | &#9989; |
| Emmys | `award/emmy` | Emmys 2021 | &#9989; | &#9989; |
| Golden Globes | `award/golden` | Best Motion Pictures | &#9989; | &#9989; |
| Oscars | `award/oscars` | Best Picture Winners | &#9989; | &#9989; |
| Spirit | `award/spirit` | Independent Spirit Awards 2021 | &#9989; | &#10060; |
| Sundance | `award/sundance` | Sundance Grand Jury Winners | &#9989; | &#9989; |
### Chart Collections
| Source | config.yml entry | Example Collections Created | Works with Movies | Works with Shows |
|:------------|:--------------------|---------------------------------------------|:-----------------:|:----------------:|
| AniList | `chart/anilist` | AniList Popular, AniList Season | &#9989; | &#9989; |
| Basic | `chart/basic` | Newly Released, New Episodes | &#9989; | &#9989; |
| IMDb | `chart/imdb` | IMDb Popular, IMDb Top 250 | &#9989; | &#9989; |
| MyAnimeList | `chart/myanimelist` | MyAnimeList Popular, MyAnimeList Top Rated | &#9989; | &#9989; |
| Other | `chart/other` | AniDB Popular, Common Sense Selection | &#9989; | &#9989; |
| Tautulli | `chart/tautulli` | Plex Popular, Plex Watched | &#9989; | &#9989; |
| TMDb | `chart/tmdb` | TMDb Popular, TMDb Airing Today | &#9989; | &#9989; |
| Trakt | `chart/trakt` | Trakt Popular, Trakt Trending | &#9989; | &#9989; |
## Overlays
These files apply overlays and can generally be used on both Movie and Show library-types, and often works at the season and episode-level too.
It should be noted that when an overlay has &#10060; for a season or episode, it normally means that whilst the overlay can technically be applied at the level, it wasn't designed for this purpose. For example, a show's season cannot have a resolution since it is not a video file, and an episode cannot have a commonsense age-rating since only Movies and Shows are rated by CommonSense.
In the scenario where there is missing data such as age ratings for episodes, then generally the highest-level data available will be applied at the lower level (i.e. a Show's CommonSense age rating would apply to all episodes).
These overlays are applied by calling the below paths into the `overlay_path:` section of your config.yml
### Overlay Files
| Theme | path | Example Overlays | Movies | Shows | Seasons | Episodes |
|:-----------------------|:---------------------------|------------------------------------------------|:--------:|:---------:|:---------:|:--------:|
| Audio Codec | `overlays/audio_codec` | Dolby Atmos logo, DTS logo | &#9989; | &#9989; | &#9989; | &#9989; |
| Audio Language | `overlays/audio_language` | French Audio, Korean Audio | &#9989; | &#9989; | &#9989; | &#9989; |
| CommonSense Age Rating | `overlays/commonsense` | "3+", "16+" | &#9989; | &#9989; | &#10071; | &#10071; |
| Direct Play | `overlays/direct_play` | "Direct Play Only" | &#9989; | &#10071; | &#10071; | &#9989; |
| Editions | `overlays/editions` | Director's Cut logo, IMAX logo | &#9989; | &#10060; | &#10060; | &#10060; |
| Episode Info | `overlays/episode_info` | "S01E01", "S02E09" | &#10060; | &#10060; | &#10060; | &#9989; |
| Mediastinger | `overlays/mediastinger` | Mediastinger logo | &#9989; | &#9989; | &#10060; | &#10060; |
| Ratings | `overlays/ratings` | IMDb Audience Rating, Metacritic Critic Rating | &#9989; | &#9989; | &#10060; | &#9989; |
| Resolution | `overlays/resolution` | 4K Dolby Vision logo, 720P logo | &#9989; | &#9989; | &#10060; | &#9989; |
| Ribbon | `overlays/ribbon` | IMDb Top 250 Ribbon, RT Fresh Ribbon | &#9989; | &#9989; | &#10060; | &#10060; |
| Runtimes | `overlays/runtimes` | "Runtime: 1h 30m" | &#9989; | &#9989; | &#10060; | &#10060; |
| Special Releases | `overlays/special_release` | "Director's Cut", "Criterion Collection" | &#9989; | &#9989; | &#10071; | &#10071; |
| Streaming | `overlays/streaming` | Netflix logo, Hulu logo | &#9989; | &#9989; | &#10060; | &#10060; |
| Versions | `overlays/versions` | Multiple Versions logo | &#9989; | &#9989; | &#9989; | &#9989; |
| Video Format | `overlays/video_format` | "REMUX", "HDTV" | &#9989; | &#10071; | &#10071; | &#9989; |
## Playlists
These files apply playlists to the "Playlists" section of Plex and are applied by calling the below paths into the `playlist_files:` section of your config.yml
### Playlist Files
| Theme | path | Example Overlays |
|:-----------------------|:-----------|-------------------------------------------------------|
| Playlist | `playlist` | Arrowverse (Timeline Order), Pokémon (Timeline Order) |

@ -0,0 +1,52 @@
# Genre Default Metadata File
The `- pmm: genre` Metadata File is used to dynamically create collections based on the genres available in your library.
This file also merges similarly named genres (such as "Sci-Fi", "SciFi" and "Sci-Fi & Fantasy") into one ("Science Fiction")
Example Collections Created:
![](images/genre.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: genre
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.
| Variable | Usage | Default Value | Values |
|:-------------------|:-------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `10` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: genre
template_variables:
sort_by: title.asc
collection_section: 5
collection_mode: show_items
use_separator: false
sep_style: red
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

@ -0,0 +1,51 @@
# Resolution Default Metadata File
The `- pmm: resolution` Metadata File is used to dynamically create collections based on the resolutions available in your library.
To avoid duplication, this file should not be used in combination with `- pmm: resolution_standards`
Example Collections Created:
![](images/resolution.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: resolution
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.
| Variable | Usage | Default Value | Values |
|:-------------------|:-------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `10` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: resolution
template_variables:
sort_by: title.asc
collection_section: 15
collection_mode: show_items
use_separator: false
sep_style: green
```

@ -0,0 +1,53 @@
# Resolution Standards Default Metadata File
The `- pmm: resolution_standards` Metadata File is used to dynamically create collections based on the resolutions available in your library.
This file takes the base resolutions ("4K" and "720p") and turns them into the commonly-known standards name ("Ultra HD" and "HD Ready")
To avoid duplication, this file should not be used in combination with `- pmm: resolution`
Example Collections Created:
![](images/resolution_standards.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: resolution_standards
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.
| Variable | Usage | Default Value | Values |
|:-------------------|:-------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `10` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: resolution_standards
template_variables:
sort_by: title.asc
collection_section: 16
collection_mode: show_items
use_separator: false
sep_style: stb
```

@ -0,0 +1,54 @@
# US Content Rating Default Metadata File
The `- pmm: content_rating_us` Metadata File is used to dynamically create collections based on the content ratings available in your library.
If you do not use the US-based rating system within Plex, this file will attempt to match the international ratings (such as "gb/12A") to the respective US rating system (such as "TV-14")
Example Collections Created:
![](../images/content_rating_us.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: content_rating_us
```
ohhh
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.
| Variable | Usage | Default Value | Values |
|:-------------------|:-----------------------------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `14` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_other | Controls whether an "Other" collection is created for any items not included in the initial criteria | `true` | `true` or `false` |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: content_rating_us
template_variables:
sort_by: title.asc
collection_section: 25
collection_mode: show_items
use_other: false
use_separator: false
sep_style: blue
```

@ -0,0 +1,52 @@
# country Language Default Metadata File
The `- pmm: country` Metadata File is used to dynamically create collections based on the counties available in your library.
Example Collections Created:
![](../images/country.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: country
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.
| Variable | Usage | Default Value | Values |
|:-------------------|:-----------------------------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `13` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_other | Controls whether an "Other" collection is created for any items not included in the initial criteria | `true` | `true` or `false` |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: country
template_variables:
sort_by: title.asc
collection_section: 8
collection_mode: show_items
use_other: false
use_separator: false
sep_style: purple
```

@ -0,0 +1,96 @@
# Streaming Default Metadata File
The `- pmm: streaming` Metadata File is used to dynamically create collections based on the streaming Services that your media is available on.
Example Collections Created:
![](images/streaming.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: streaming
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
As this file is more complex than others, a key system is used to control each collection that is created by the file. Each key refers to one streaming service and is used to control multiple template variables.
Below are the keys and what they refer to:
| Key | streaming Service |
|:----------|:------------------|
| all4 | All 4 |
| amazon | Prime Video |
| appletv | Apple TV+ |
| bet | BET+ |
| britbox | BritBox |
| disney | Disney+ |
| hayu | hayu |
| hbomax | HBO Max |
| hulu | Hulu |
| netflix | Netflix |
| now | NOW |
| paramount | Paramount+ |
| peacock | Peacock |
Below are the available variables which can be used to customize the file. Note that any use of `key` within the variable should be replaced with the `key` from the above table (i.e. `use_all4` instead of `use_key`, `order_disney` instead of `order_key`)
| Variable | Usage | Default Value | Values |
|:---------------------------|:-------------------------------------------------------------------------------|--------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| use_key | Turn the collection on/off | `true` | `true` or `false` |
| order_key | Determine collection order in its section | Alphabetical Order | Any number (i.e. `01` for `order_disney` to put Disney+ first in the list of streaming services) |
| collection_order_key | Determines collection order of the collection | | |
| visible_library_key | Set visible_library for the collection | `false` | `true` or `false` |
| visible_home_key | Set visible_home for the collection | `false` | `true` or `false` |
| visible_shared_key | Set visible_shared for the collection | `false` | `true` or `false` |
| sonarr_add_missing_key | Adds missing from the collection to sonarr | `false` | `true` or `false` |
| sonarr_folder_key | Sonarr Folder to add to | | Folder to add missing items to |
| sonarr_tag_key | Sonarr Tag for added missing | | Tag(s) to add to missing items |
| item_sonarr_tag_key | Sonarr Tag for existing items | `false` | Tag(s) to add to existing items |
| radarr_add_missing_key | Adds missing from the collection to radarr | | `true` or `false` |
| radarr_folder_key | Radarr Folder to add to | | Folder to add missing items to |
| radarr_tag_key | Radarr Tag for added missing | | Tag(s) to add to missing items |
| item_radarr_tag_key | Radarr Tag for existing items | | Tag(s) to add to existing items |
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `10` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: streaming
template_variables:
use_all4: false
order_britbox: 01
visible_library_disney: true
visible_home_disney: true
visible_shared_disney: true
sonarr_add_missing_hulu: true
sonarr_folder_hulu: /mnt/local/Media/TV/
sonarr_tag_hulu: Hulu Shows
item_sonarr_tag_hulu: Hulu Shows
radarr_add_missing_amazon: true
sonarr_folder_amazon: /mnt/local/Media/TV/Prime Video Shows/
sonarr_tag_amazon: Prime Video Shows
item_sonarr_tag_amazon: Prime Video Shows
sort_by: random
collection_section: 1
collection_mode: show_items
use_separator: false
sep_style: stb
```

@ -0,0 +1,52 @@
# Studio Default Metadata File
The `- pmm: studio` Metadata File is used to dynamically create collections based on the studios available in your library.
This file also merges similarly named studios (such as "20th Century Fox" and "20th Century Animation") into one ("20th Century Studios")
Example Collections Created:
![](images/studio.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: studio
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.I
| Variable | Usage | Default Value | Values |
|:-------------------|:-------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `07` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: studio
template_variables:
sort_by: title.asc
collection_section: 4
collection_mode: show_items
use_separator: false
sep_style: gray
```

@ -0,0 +1,52 @@
# Subtitle Language Default Metadata File
The `- pmm: subtitle_language` Metadata File is used to dynamically create collections based on the subtitle languages available in your library.
Example Collections Created:
![](images/subtitle_language.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: subtitle_language
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.
| Variable | Usage | Default Value | Values |
|:-------------------|:-----------------------------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `11` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_other | Controls whether an "Other" collection is created for any items not included in the initial criteria | `true` | `true` or `false` |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: subtitle_language
template_variables:
sort_by: title.asc
collection_section: 20
collection_mode: show_items
use_other: false
use_separator: false
sep_style: purple
```

@ -0,0 +1,52 @@
# Year Language Default Metadata File
The `- pmm: year` Metadata File is used to dynamically create collections based on the years available in your library, sorted by critic rating to create a "best of <year>"
Example Collections Created:
![](images/year.png)
The below YAML in your config.yml will create the actor collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: year
```
## Template Variables
Template Variables can be used to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do NOT want to use the default settings.
Below are the available variables which can be used to customize the file.
| Variable | Usage | Default Value | Values |
|:-------------------|:-----------------------------------------------------------------------------------------------------|----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| sort_by | Controls the sort method for the collections | `release.desc` | Any sort method in the [Sorts Options Table](#sort-options) |
| collection_section | Controls the sort order of these collections against other default collections | `13` | Any number |
| collection_mode | Controls the collection mode of these collections | `default` | `default` - Library default<br/>`hide` - Hide Collection<br/>`hide_items`- Hide Items in this Collection<br/>`show_items` - Show this Collection and its Items |
| use_other | Controls whether an "Other" collection is created for any items not included in the initial criteria | `true` | `true` or `false` |
| use_separator | Controls whether a separator is created | `true` | `true` or `false` |
| sep_style | Sets the theme of the separator | `orig` | `orig`, `blue`, `gray`, `green`, `purple`, `red`, `stb` |
| item_radarr_tag | Radarr Tag for existing items | | list of tag(s) to be applied to existing items |
| item_sonarr_tag | Sonarr Tag for existing items | | list of tag(s) to be applied to existing items |
The below shows an example config.yml with all of the template_variables set away from their defaults:
```yaml
libraries:
Movies:
metadata_path:
- pmm: year
template_variables:
sort_by: title.asc
collection_section: 8
collection_mode: show_items
use_other: false
use_separator: false
sep_style: purple
```

@ -227,9 +227,13 @@ class Overlay:
temp_path = self.data["pmm"] if "pmm" in self.data and self.data["pmm"] else self.data["git"][4:]
if temp_path.startswith("overlays/images/"):
temp_path = temp_path[16:]
if not temp_path.endswith(".png"):
temp_path = f"{temp_path}.png"
images_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "defaults", "overlays", "images")
if os.path.exists(os.path.abspath(os.path.join(images_path, temp_path))):
self.path = os.path.abspath(os.path.join(images_path, temp_path))
logger.debug(os.path.abspath(os.path.join(images_path, temp_path)))
if not os.path.exists(os.path.abspath(os.path.join(images_path, temp_path))):
raise Failed(f"Overlay Error: Overlay Image not found at: {os.path.abspath(os.path.join(images_path, temp_path))}")
self.path = os.path.abspath(os.path.join(images_path, temp_path))
elif "file" in self.data and self.data["file"]:
self.path = self.data["file"]
elif "git" in self.data and self.data["git"]:

Loading…
Cancel
Save