[190] Merge remote-tracking branch 'origin/nightly' into nightly

pull/1165/head
meisnate12 2 years ago
commit d14e9f461a

@ -29,6 +29,7 @@ Added `versions` [number filter](https://metamanager.wiki/en/latest/metadata/fil
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)
Adds `current_year` to `plex_search`, `smart_filter`, and `filter` year/decade attributes.
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)

@ -1 +1 @@
1.17.3-develop188
1.17.3-develop190

@ -47,6 +47,7 @@ external_templates:
font: fonts/Inter-Bold.ttf
font_size: 50
final_name: text(<<final_text>>)
use_<<key>>: false
vars:
top_left: &top_left {vertical_align: top, horizontal_align: left}
@ -283,47 +284,47 @@ templates:
overlays:
english:
variables: {key: en, text: EN, weight: 610, country: us}
variables: {key: en, text: EN, weight: 610, country: us, use_<<key>>: true}
template: [name: standard, name: flags]
german:
variables: {key: de, text: DE, weight: 600}
variables: {key: de, text: DE, weight: 600, use_<<key>>: true}
template: [name: standard, name: flags]
french:
variables: {key: fr, text: FR, weight: 590}
variables: {key: fr, text: FR, weight: 590, use_<<key>>: true}
template: [name: standard, name: flags]
spanish:
variables: {key: es, text: ES, weight: 580, use_<<key>>: true}
template: [name: standard, name: flags]
portuguese:
variables: {key: pt, text: PT, weight: 570, use_<<key>>: true}
template: [name: standard, name: flags]
japanese:
variables: {key: ja, text: JA, weight: 580, country: jp}
variables: {key: ja, text: JA, weight: 560, country: jp, use_<<key>>: true}
template: [name: standard, name: flags]
korean:
variables: {key: ko, text: KO, weight: 570, country: kr}
variables: {key: ko, text: KO, weight: 550, country: kr}
template: [name: standard, name: flags]
chinese:
variables: {key: zh, text: ZH, weight: 560, country: cn}
variables: {key: zh, text: ZH, weight: 540, country: cn}
template: [name: standard, name: flags]
danish:
variables: {key: da, text: DA, weight: 550, country: dk}
variables: {key: da, text: DA, weight: 530, country: dk}
template: [name: standard, name: flags]
russian:
variables: {key: ru, text: RU, weight: 540}
template: [name: standard, name: flags]
spanish:
variables: {key: es, text: ES, weight: 530}
variables: {key: ru, text: RU, weight: 520}
template: [name: standard, name: flags]
italian:
variables: {key: it, text: IT, weight: 520}
template: [name: standard, name: flags]
portuguese:
variables: {key: pt, text: PT, weight: 510}
variables: {key: it, text: IT, weight: 510}
template: [name: standard, name: flags]
hindi:

@ -188,3 +188,23 @@ a .logo-hover {
a:hover .logo-hover {
display: block;
}
/* Responsive YT Video Embedding */
.responsiveYT {
position: relative;
height: 0;
padding-top: 56%;
overflow: hidden;
max-width: 100%;
}
.responsiveYT iframe,
.responsiveYT object,
.responsiveYT embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.responsiveYT .fluid-vids {
position: initial !important
}

@ -200,9 +200,9 @@ html_theme_options = {
("Defaults Usage Guide", "defaults/guide"),
("Defaults Files", "defaults/files"),
("_divider", ),
("_menu", "Collections", "defaults/defaults", [
("Collections", "defaults/defaults"),
("Shared Variables", "defaults/variables"),
("_menu", "Collections", "defaults/collections", [
("Collections", "defaults/collections"),
("Shared Variables", "defaults/collection_variables"),
("_divider", ),
("Separators", "defaults/separators"),
("_menu", "Award", "defaults/defaults", "#award-collections", [
@ -277,9 +277,9 @@ html_theme_options = {
]),
]),
("Playlists", "defaults/playlist"),
("_menu", "Overlays", "defaults/overlays/defaults", [
("Overlays", "defaults/overlays/defaults"),
("Shared Variables", "defaults/overlays/variables"),
("_menu", "Overlays", "defaults/overlays", [
("Overlays", "defaults/overlays"),
("Shared Variables", "defaults/overlay_variables"),
("_divider", ),
("Audio Codec", "defaults/overlays/audio_codec"),
("Common Sense Age Ratings", "defaults/overlays/commonsense"),

@ -8,22 +8,22 @@ A template Configuration File can be found in the [GitHub Repo](https://github.c
This table outlines the third-party services that Plex Meta Manager can make use of. Each service has specific requirements for setup that can be found by clicking the links within the table.
| Attribute | Required |
|:----------------------------------------------------------|:---------------------------------------:|
| [`libraries`](libraries) | &#9989; |
| [`playlist_files`](libraries.md#playlist-files-attribute) | &#10060; |
| [`settings`](settings) | &#10060; |
| [`webhooks`](webhooks) | &#10060; |
| [`plex`](plex) | &#9989; <br/>Either here or per library |
| [`tmdb`](tmdb) | &#9989; |
| [`tautulli`](tautulli) | &#10060; |
| [`omdb`](omdb) | &#10060; |
| [`notifiarr`](notifiarr) | &#10060; |
| [`anidb`](anidb) | &#10060; |
| [`radarr`](radarr) | &#10060; |
| [`sonarr`](sonarr) | &#10060; |
| [`trakt`](trakt) | &#10060; |
| [`mal`](myanimelist) | &#10060; |
| Attribute | Required |
|:------------------------------|:---------------------------------------:|
| [`libraries`](libraries) | &#9989; |
| [`playlist_files`](playlists) | &#10060; |
| [`settings`](settings) | &#10060; |
| [`webhooks`](webhooks) | &#10060; |
| [`plex`](plex) | &#9989; <br/>Either here or per library |
| [`tmdb`](tmdb) | &#9989; |
| [`tautulli`](tautulli) | &#10060; |
| [`omdb`](omdb) | &#10060; |
| [`notifiarr`](notifiarr) | &#10060; |
| [`anidb`](anidb) | &#10060; |
| [`radarr`](radarr) | &#10060; |
| [`sonarr`](sonarr) | &#10060; |
| [`trakt`](trakt) | &#10060; |
| [`mal`](myanimelist) | &#10060; |
## Configuration File Example

@ -32,7 +32,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -32,7 +32,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -34,7 +34,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -32,7 +32,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -33,7 +33,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -31,7 +31,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -34,7 +34,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -32,7 +32,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
**[Shared Collection Variables](../variables) are NOT available to this default file.**
**[Shared Collection Variables](../collection_variables) are NOT available to this default file.**
This file contains only a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available.

@ -31,7 +31,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -32,7 +32,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -39,7 +39,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -34,7 +34,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -38,7 +38,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
**[Shared Collection Variables](../variables) are NOT available to this default file.**
**[Shared Collection Variables](../collection_variables) are NOT available to this default file.**
| Variable | Description & Values |
|:-------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -38,7 +38,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -36,7 +36,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -36,7 +36,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -35,7 +35,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -42,7 +42,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -47,7 +47,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -35,7 +35,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -33,7 +33,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -34,7 +34,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -33,7 +33,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -35,7 +35,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -33,7 +33,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:----------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -37,7 +37,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -34,7 +34,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -36,7 +36,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -35,7 +35,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -32,7 +32,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
**[Shared Collection Variables](../variables) are NOT available to this default file.**
**[Shared Collection Variables](../collection_variables) are NOT available to this default file.**
This file contains only a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available.

@ -35,7 +35,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -36,7 +36,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -36,7 +36,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
| Variable | Description & Values |
|:---------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -0,0 +1,63 @@
## 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
### Chart Collections
| Default | Path | Example Collections | Works with Movies | Works with Shows |
|:-----------------------------------|:-----------------:|:-------------------------------------------|:-----------------:|:----------------:|
| [Chart Separator](chart/separator) | `separator_chart` | Chart Collections | &#9989; | &#9989; |
| [AniList](chart/anilist) | `anilist` | AniList Popular, AniList Season | &#9989; | &#9989; |
| [Basic](chart/basic) | `basic` | Newly Released, New Episodes | &#9989; | &#9989; |
| [FlixPatrol](chart/flixpatrol) | `flixpatrol` | Top Disney, Top Hbo, Top Hulu, Top Netflix | &#9989; | &#9989; |
| [IMDb](chart/imdb) | `imdb` | IMDb Popular, IMDb Top 250 | &#9989; | &#9989; |
| [MyAnimeList](chart/myanimelist) | `myanimelist` | MyAnimeList Popular, MyAnimeList Top Rated | &#9989; | &#9989; |
| [Other](chart/other) | `other_chart` | AniDB Popular, Common Sense Selection | &#9989; | &#9989; |
| [Tautulli](chart/tautulli) | `tautulli` | Plex Popular, Plex Watched | &#9989; | &#9989; |
| [TMDb](chart/tmdb) | `tmdb` | TMDb Popular, TMDb Airing Today | &#9989; | &#9989; |
| [Trakt](chart/trakt) | `trakt` | Trakt Popular, Trakt Trending | &#9989; | &#9989; |
### Award Collections
| Default | Path | Example Collections | Works with Movies | Works with Shows |
|:-----------------------------------------------------------|:-----------------:|:--------------------------------------------|:-----------------:|:----------------:|
| [Award Separator](award/separator) | `separator_award` | Award Collections | &#9989; | &#9989; |
| [British Academy of Film and Television Arts](award/bafta) | `bafta` | BAFTA Best Films, BAFTA 2021 | &#9989; | &#10060; |
| [Cannes](award/cannes) | `cannes` | Cannes - Palme d'or, Cannes 2018 | &#9989; | &#10060; |
| [Critics Choice](award/choice) | `choice` | Critics Choice Awards 2020 | &#9989; | &#9989; |
| [Emmys](award/emmy) | `emmy` | Emmys 2021 | &#9989; | &#9989; |
| [Golden Globes](award/golden) | `golden` | Best Motion Pictures | &#9989; | &#9989; |
| [Academy Awards (Oscars)](award/oscars) | `oscars` | Best Picture Winners | &#9989; | &#9989; |
| [Independent Spirit](award/spirit) | `spirit` | Independent Spirit Awards 2021 | &#9989; | &#10060; |
| [Sundance](award/sundance) | `sundance` | Sundance Grand Jury Winners | &#9989; | &#9989; |
| [Other](award/other) | `other_award` | Berlinale Golden Bears, Venice Golden Lions | &#9989; | &#10060; |
### General Collections
| Default | Path | Example Collections | Works with Movies | Works with Shows |
|:------------------------------------------------------------------------------------|:--------------------:|:-------------------------------------------------------|:-----------------:|:----------------:|
| [Actor](both/actor) | `actor` | Chris Hemsworth, Margot Robbie | &#9989; | &#9989; |
| [Audio Language](both/audio_language) | `audio_language` | French Audio, Korean Audio | &#9989; | &#9989; |
| [Collectionless](both/collectionless) | `collectionless` | Collectionless | &#9989; | &#9989; |
| [Common Sense Content Rating](both/content_rating_cs) | `content_rating_cs` | 1, 2, 3, 4, 5, 6, 15, 16, 17, 18 | &#9989; | &#9989; |
| [MyAnimeList Content Rating](both/content_rating_mal) | `content_rating_mal` | G, PG, PG-13, R, R+, Rx | &#9989; | &#9989; |
| [Content Rating (UK)](both/content_rating_uk) | `content_rating_uk` | U, PG, 12A | &#9989; | &#9989; |
| Content Rating (US) [Movie](movie/content_rating_us)/[Show](show/content_rating_us) | `content_rating_us` | G, PG, NC-17 | &#9989; | &#9989; |
| Country [Movie](movie/country)/[Show](show/country) | `country` | Belgium, India | &#9989; | &#9989; |
| Decade [Movie](movie/decade)/[Show](show/decade) | `decade` | Best of 2012, Best of 2022 | &#9989; | &#9989; |
| [Director](movie/director) | `director` | Steven Spielberg (Director), Olivia Wilde (Director) | &#9989; | &#10060; |
| Franchise [Movie](movie/franchise)/[Show](show/franchise) | `franchise` | Star Wars: Skywalker Saga, Godzilla (Anime) | &#9989; | &#9989; |
| [Genre](both/genre) | `genre` | Action, Drama, Science Fiction | &#9989; | &#9989; |
| [Network](show/network) | `network` | Disney Channel, Lifetime | &#10060; | &#9989; |
| [Producer](movie/producer) | `producer` | James Cameron (Producer), Reese Witherspoon (Producer) | &#9989; | &#10060; |
| [Resolution](both/resolution) | `resolution` | 4K Movies, 1080p Movies, 720p Movies | &#9989; | &#9989; |
| [Seasonal](movie/seasonal) | `seasonal` | Easter, Christmas | &#9989; | &#10060; |
| [Streaming](both/streaming) | `streaming` | Disney+ Movies, HBO Max Shows | &#9989; | &#9989; |
| [Studio](both/studio) | `studio` | DreamWorks Studios, Walt Disney Pictures | &#9989; | &#9989; |
| [Anime Studio](both/studio_anime) | `studio_anime` | Bones, Studio Ghibli, Toei Animation | &#9989; | &#9989; |
| [Subtitle Language](both/subtitle_language) | `subtitle_language` | German Subtitles, Swedish Subtitles | &#9989; | &#9989; |
| [Universe](movie/universe) | `universe` | Marvel Cinematic Universal, Wizarding World | &#9989; | &#10060; |
| [Year](both/year) | `year` | Best of 2010, Best of 2019 | &#9989; | &#9989; |
| [Writer](movie/writer) | `writer` | James Cameron (Writer), Lilly Wachowski (Writer) | &#9989; | &#10060; |

@ -1,63 +1,191 @@
## 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
### Chart Collections
| Default | Path | Example Collections | Works with Movies | Works with Shows |
|:-----------------------------------|:-----------------:|:-------------------------------------------|:-----------------:|:----------------:|
| [Chart Separator](chart/separator) | `separator_chart` | Chart Collections | &#9989; | &#9989; |
| [AniList](chart/anilist) | `anilist` | AniList Popular, AniList Season | &#9989; | &#9989; |
| [Basic](chart/basic) | `basic` | Newly Released, New Episodes | &#9989; | &#9989; |
| [FlixPatrol](chart/flixpatrol) | `flixpatrol` | Top Disney, Top Hbo, Top Hulu, Top Netflix | &#9989; | &#9989; |
| [IMDb](chart/imdb) | `imdb` | IMDb Popular, IMDb Top 250 | &#9989; | &#9989; |
| [MyAnimeList](chart/myanimelist) | `myanimelist` | MyAnimeList Popular, MyAnimeList Top Rated | &#9989; | &#9989; |
| [Other](chart/other) | `other_chart` | AniDB Popular, Common Sense Selection | &#9989; | &#9989; |
| [Tautulli](chart/tautulli) | `tautulli` | Plex Popular, Plex Watched | &#9989; | &#9989; |
| [TMDb](chart/tmdb) | `tmdb` | TMDb Popular, TMDb Airing Today | &#9989; | &#9989; |
| [Trakt](chart/trakt) | `trakt` | Trakt Popular, Trakt Trending | &#9989; | &#9989; |
### Award Collections
| Default | Path | Example Collections | Works with Movies | Works with Shows |
|:-----------------------------------------------------------|:-----------------:|:--------------------------------------------|:-----------------:|:----------------:|
| [Award Separator](award/separator) | `separator_award` | Award Collections | &#9989; | &#9989; |
| [British Academy of Film and Television Arts](award/bafta) | `bafta` | BAFTA Best Films, BAFTA 2021 | &#9989; | &#10060; |
| [Cannes](award/cannes) | `cannes` | Cannes - Palme d'or, Cannes 2018 | &#9989; | &#10060; |
| [Critics Choice](award/choice) | `choice` | Critics Choice Awards 2020 | &#9989; | &#9989; |
| [Emmys](award/emmy) | `emmy` | Emmys 2021 | &#9989; | &#9989; |
| [Golden Globes](award/golden) | `golden` | Best Motion Pictures | &#9989; | &#9989; |
| [Academy Awards (Oscars)](award/oscars) | `oscars` | Best Picture Winners | &#9989; | &#9989; |
| [Independent Spirit](award/spirit) | `spirit` | Independent Spirit Awards 2021 | &#9989; | &#10060; |
| [Sundance](award/sundance) | `sundance` | Sundance Grand Jury Winners | &#9989; | &#9989; |
| [Other](award/other) | `other_award` | Berlinale Golden Bears, Venice Golden Lions | &#9989; | &#10060; |
### General Collections
| Default | Path | Example Collections | Works with Movies | Works with Shows |
|:------------------------------------------------------------------------------------|:--------------------:|:-------------------------------------------------------|:-----------------:|:----------------:|
| [Actor](both/actor) | `actor` | Chris Hemsworth, Margot Robbie | &#9989; | &#9989; |
| [Audio Language](both/audio_language) | `audio_language` | French Audio, Korean Audio | &#9989; | &#9989; |
| [Collectionless](both/collectionless) | `collectionless` | Collectionless | &#9989; | &#9989; |
| [Common Sense Content Rating](both/content_rating_cs) | `content_rating_cs` | 1, 2, 3, 4, 5, 6, 15, 16, 17, 18 | &#9989; | &#9989; |
| [MyAnimeList Content Rating](both/content_rating_mal) | `content_rating_mal` | G, PG, PG-13, R, R+, Rx | &#9989; | &#9989; |
| [Content Rating (UK)](both/content_rating_uk) | `content_rating_uk` | U, PG, 12A | &#9989; | &#9989; |
| Content Rating (US) [Movie](movie/content_rating_us)/[Show](show/content_rating_us) | `content_rating_us` | G, PG, NC-17 | &#9989; | &#9989; |
| Country [Movie](movie/country)/[Show](show/country) | `country` | Belgium, India | &#9989; | &#9989; |
| Decade [Movie](movie/decade)/[Show](show/decade) | `decade` | Best of 2012, Best of 2022 | &#9989; | &#9989; |
| [Director](movie/director) | `director` | Steven Spielberg (Director), Olivia Wilde (Director) | &#9989; | &#10060; |
| Franchise [Movie](movie/franchise)/[Show](show/franchise) | `franchise` | Star Wars: Skywalker Saga, Godzilla (Anime) | &#9989; | &#9989; |
| [Genre](both/genre) | `genre` | Action, Drama, Science Fiction | &#9989; | &#9989; |
| [Network](show/network) | `network` | Disney Channel, Lifetime | &#10060; | &#9989; |
| [Producer](movie/producer) | `producer` | James Cameron (Producer), Reese Witherspoon (Producer) | &#9989; | &#10060; |
| [Resolution](both/resolution) | `resolution` | 4K Movies, 1080p Movies, 720p Movies | &#9989; | &#9989; |
| [Seasonal](movie/seasonal) | `seasonal` | Easter, Christmas | &#9989; | &#10060; |
| [Streaming](both/streaming) | `streaming` | Disney+ Movies, HBO Max Shows | &#9989; | &#9989; |
| [Studio](both/studio) | `studio` | DreamWorks Studios, Walt Disney Pictures | &#9989; | &#9989; |
| [Anime Studio](both/studio_anime) | `studio_anime` | Bones, Studio Ghibli, Toei Animation | &#9989; | &#9989; |
| [Subtitle Language](both/subtitle_language) | `subtitle_language` | German Subtitles, Swedish Subtitles | &#9989; | &#9989; |
| [Universe](movie/universe) | `universe` | Marvel Cinematic Universal, Wizarding World | &#9989; | &#10060; |
| [Year](both/year) | `year` | Best of 2010, Best of 2019 | &#9989; | &#9989; |
| [Writer](movie/writer) | `writer` | James Cameron (Writer), Lilly Wachowski (Writer) | &#9989; | &#10060; |
# Collection Defaults
There are many Default Metadata Files built into PMM itself which offer an easy-to-use and customizable set of Collections that the user can achieve without having to worry about creating the files that makes the collections possible.
This is the simplest way to create Collections using Plex Meta Manager.
## Metadata Files
```{include} collection_list.md
```
## Configurations
To run a default pmm Metadata file you can simply add it to your `metadata_path` using `pmm` like so:
```yaml
libraries:
Movies:
metadata_path:
- pmm: actor
- pmm: genre
```
## Separators
Most Metadata files use separators to denote different sections of collection like actor collections vs studio collections.
**Chart Separator and Award Separator each have their own file, while the other Separators are part of their respective files.**
<details>
<summary>Click to expand to see an example of Separators.</summary>
![](images/separators.jpg)
</details>
### Library On/Off
Chart Separators are turned On by default (except `seasonal`), to turn the Separators On/Off on a per Library basis.
```yaml
libraries:
LIBRARYNAME:
template_variables:
use_separator: false
metadata_path:
- pmm: actor
- pmm: genre
```
## Collection Section Order
All Default Metadata Files have 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` if you have a `Fantasy` collection, plex is going to show `!06_Fantasy`
This is the default PMM collection ordering:
| Collection | Collection Section |
|:-----------------------|:------------------:|
| `seasonal` | `00` |
| `anilist` | `01` |
| `basic` | `01` |
| `imdb` | `01` |
| `flixpatrol` | `01` |
| `myanimelist` | `01` |
| `other_chart` | `01` |
| `tautulli` | `01` |
| `tmdb` | `01` |
| `trakt` | `01` |
| `universe` | `02` |
| `streaming` | `03` |
| `network` | `04` |
| `genre` | `06` |
| `studio` | `07` |
| `country` | `09` |
| `audio_language` | `10` |
| `subtitle_language` | `11` |
| `decade` | `12` |
| `year` | `13` |
| `content_rating_us` | `14` |
| `content_rating_uk` | `14` |
| `content_rating_cs` | `14` |
| `resolution` | `15` |
| `resolution_standards` | `15` |
| `bafta` | `16` |
| `cannes` | `16` |
| `choice` | `16` |
| `emmy` | `16` |
| `golden` | `16` |
| `oscars` | `16` |
| `other_award` | `16` |
| `spirit` | `16` |
| `sundance` | `16` |
| `actor` | `17` |
| `director` | `18` |
| `producer` | `19` |
| `writer` | `20` |
## 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:
metadata_path:
- pmm: imdb
template_variables:
use_popular: false
use_lowest: false
visible_library_top: true
visible_home_top: true
visible_shared_top: true
```
Each file has a page on the wiki showing the available `template_variables` for each file. For example the default `pmm: genre` has a page [here](both/genre).
**In addition to the defined `template_variables` almost all default Metadata files have access to the [Shared Variables](collection_variables).**
### Examples
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:
- pmm: 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:
- 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:
- 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:
- pmm: <file1> # separator is disabled
template_variables:
use_separator: false
- pmm: <file2> # separator is enabled by default
- pmm: <file3> # separator is disabled
template_variables:
use_separator: false
```
```{include} example.md
```

@ -1,191 +0,0 @@
# Collection Defaults
There are many Default Metadata Files built into PMM itself which offer an easy-to-use and customizable set of Collections that the user can achieve without having to worry about creating the files that makes the collections possible.
This is the simplest way to create Collections using Plex Meta Manager.
## Metadata Files
```{include} collections.md
```
## Configurations
To run a default pmm Metadata file you can simply add it to your `metadata_path` using `pmm` like so:
```yaml
libraries:
Movies:
metadata_path:
- pmm: actor
- pmm: genre
```
## Separators
Most Metadata files use separators to denote different sections of collection like actor collections vs studio collections.
**Chart Separator and Award Separator each have their own file, while the other Separators are part of their respective files.**
<details>
<summary>Click to expand to see an example of Separators.</summary>
![](images/separators.jpg)
</details>
### Library On/Off
Chart Separators are turned On by default (except `seasonal`), to turn the Separators On/Off on a per Library basis.
```yaml
libraries:
LIBRARYNAME:
template_variables:
use_separator: false
metadata_path:
- pmm: actor
- pmm: genre
```
## Collection Section Order
All Default Metadata Files have 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` if you have a `Fantasy` collection, plex is going to show `!06_Fantasy`
This is the default PMM collection ordering:
| Collection | Collection Section |
|:-----------------------|:------------------:|
| `seasonal` | `00` |
| `anilist` | `01` |
| `basic` | `01` |
| `imdb` | `01` |
| `flixpatrol` | `01` |
| `myanimelist` | `01` |
| `other_chart` | `01` |
| `tautulli` | `01` |
| `tmdb` | `01` |
| `trakt` | `01` |
| `universe` | `02` |
| `streaming` | `03` |
| `network` | `04` |
| `genre` | `06` |
| `studio` | `07` |
| `country` | `09` |
| `audio_language` | `10` |
| `subtitle_language` | `11` |
| `decade` | `12` |
| `year` | `13` |
| `content_rating_us` | `14` |
| `content_rating_uk` | `14` |
| `content_rating_cs` | `14` |
| `resolution` | `15` |
| `resolution_standards` | `15` |
| `bafta` | `16` |
| `cannes` | `16` |
| `choice` | `16` |
| `emmy` | `16` |
| `golden` | `16` |
| `oscars` | `16` |
| `other_award` | `16` |
| `spirit` | `16` |
| `sundance` | `16` |
| `actor` | `17` |
| `director` | `18` |
| `producer` | `19` |
| `writer` | `20` |
## 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:
metadata_path:
- pmm: imdb
template_variables:
use_popular: false
use_lowest: false
visible_library_top: true
visible_home_top: true
visible_shared_top: true
```
Each file has a page on the wiki showing the available `template_variables` for each file. For example the default `pmm: genre` has a page [here](both/genre).
**In addition to the defined `template_variables` almost all default Metadata files have access to the [Shared Variables](variables).**
### Examples
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:
- pmm: 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:
- 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:
- 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:
- pmm: <file1> # separator is disabled
template_variables:
use_separator: false
- pmm: <file2> # separator is enabled by default
- pmm: <file3> # separator is disabled
template_variables:
use_separator: false
```
```{include} example.md
```

@ -365,4 +365,5 @@ playlist_files:
template_variables:
libraries: Movies, TV Shows
```
</details>

@ -2,10 +2,10 @@
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).
```{include} collections.md
```{include} collection_list.md
```
```{include} overlays.md
```{include} overlay_list.md
```
## Playlists

@ -14,11 +14,11 @@ Please consider [donating](https://github.com/sponsors/meisnate12) towards the p
## Collection Defaults
See the [Collection Defaults](defaults) Page for more information on the specifics of the Collection Defaults.
See the [Collection Defaults](collections) Page for more information on the specifics of the Collection Defaults.
## Overlay Defaults
See the [Overlay Defaults](overlays/defaults) Page for more information on the specifics of the Overlay Defaults.
See the [Overlay Defaults](overlays.md) Page for more information on the specifics of the Overlay Defaults.
## Configurations
@ -60,7 +60,7 @@ libraries:
Each file has a page on the wiki showing the available `template_variables` for each file. For example the default `pmm: ratings` has a page [here](overlays/ratings).
**In addition to the defined `template_variables` almost all default Metadata and Overlay files have access to their respective [Metadata](variables)/[Overlay](overlays/variables) Shared Variables.**
**In addition to the defined `template_variables` almost all default Metadata and Overlay files have access to their respective [Metadata](collection_variables)/[Overlay](overlay_variables.md) Shared Variables.**
```{include} example.md
```

@ -33,7 +33,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -37,7 +37,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -30,7 +30,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -36,7 +36,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -31,7 +31,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
**[Shared Collection Variables](../variables) are NOT available to this default file.**
**[Shared Collection Variables](../collection_variables) are NOT available to this default file.**
| Variable | Description & Values |
|:-----------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -36,7 +36,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -41,7 +41,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -43,7 +43,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -36,7 +36,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -0,0 +1,30 @@
## 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 &#10071; 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](../config/libraries.md#overlay-path) of your config.yml
### Overlay Files
| Default | path | Example Overlays | Movies | Shows | Seasons | Episodes |
|:-----------------------------------------------|:----------------:|:--------------------------------------------------------------------------|:--------:|:---------:|:---------:|:--------:|
| [Audio Codec](overlays/audio_codec) | `audio_codec` | Dolby Atmos logo, DTS logo | &#9989; | &#9989; | &#9989; | &#9989; |
| [CommonSense Age Rating](overlays/commonsense) | `commonsense` | "3+", "16+" | &#9989; | &#9989; | &#10071; | &#10071; |
| [Direct Play](overlays/direct_play) | `direct_play` | "Direct Play Only" | &#9989; | &#10071; | &#10071; | &#9989; |
| [Episode Info](overlays/episode_info) | `episode_info` | "S01E01", "S02E09" | &#10060; | &#10060; | &#10060; | &#9989; |
| [FlixPatrol](overlays/flixpatrol) | `flixpatrol` | "Streaming service logo with words "TOP" | &#9989; | &#9989; | &#10060; | &#10060; |
| [Language Count](overlays/language_count) | `language_count` | Dual-Audio, Multi-Audio, Dual-Subtitle, Multi-Subtitle | &#9989; | &#9989; | &#9989; | &#9989; |
| [Languages](overlays/languages) | `languages` | Flags Based on the Audio/Subtitles a file has | &#9989; | &#9989; | &#9989; | &#9989; |
| [Mediastinger](overlays/mediastinger) | `mediastinger` | Mediastinger Logo for After/During Credit Scenes | &#9989; | &#9989; | &#10060; | &#10060; |
| [Ratings](overlays/ratings) | `ratings` | IMDb Audience Rating, Metacritic Critic Rating | &#9989; | &#9989; | &#10060; | &#9989; |
| [Resolution/Editions](overlays/resolution) | `resolution` | 4K Dolby Vision logo, 720P logo, "Director's Cut", "Criterion Collection" | &#9989; | &#9989; | &#10060; | &#9989; |
| [Ribbon](overlays/ribbon) | `ribbon` | IMDb Top 250 Ribbon, RT Fresh Ribbon | &#9989; | &#9989; | &#10060; | &#10060; |
| [Runtimes](overlays/runtimes) | `runtimes` | "Runtime: 1h 30m" | &#9989; | &#9989; | &#10060; | &#10060; |
| [Status](overlays/status) | `status` | Airing, Returning, Canceled, Ended | &#10060; | &#9989; | &#10060; | &#10060; |
| [Streaming](overlays/streaming) | `streaming` | Netflix logo, Hulu logo | &#9989; | &#9989; | &#10060; | &#10060; |
| [Versions](overlays/versions) | `versions` | Multiple Versions logo | &#9989; | &#9989; | &#9989; | &#9989; |
| [Video Format](overlays/video_format) | `video_format` | "REMUX", "HDTV" | &#9989; | &#10071; | &#10071; | &#9989; |

@ -1,30 +1,243 @@
# Overlay Defaults
There are many Default Overlay Files built into PMM itself which offer an easy-to-use and customizable set of Overlays that the user can achieve without having to worry about creating the files that makes the overlays possible.
This is the simplest way to create Overlays using Plex Meta Manager.
## Overlay Files
```{include} overlay_list.md
```
## Configurations
To run a default pmm Overlay file you can simply add it to your `overlay_path` using `pmm` like so:
```yaml
libraries:
Movies:
overlay_path:
- pmm: ribbon
- pmm: ratings
```
## 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 &#10071; 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](../config/libraries.md#overlay-path) of your config.yml
### Overlay Files
| Default | path | Example Overlays | Movies | Shows | Seasons | Episodes |
|:-----------------------------------------------|:----------------:|:--------------------------------------------------------------------------|:--------:|:---------:|:---------:|:--------:|
| [Audio Codec](overlays/audio_codec) | `audio_codec` | Dolby Atmos logo, DTS logo | &#9989; | &#9989; | &#9989; | &#9989; |
| [CommonSense Age Rating](overlays/commonsense) | `commonsense` | "3+", "16+" | &#9989; | &#9989; | &#10071; | &#10071; |
| [Direct Play](overlays/direct_play) | `direct_play` | "Direct Play Only" | &#9989; | &#10071; | &#10071; | &#9989; |
| [Episode Info](overlays/episode_info) | `episode_info` | "S01E01", "S02E09" | &#10060; | &#10060; | &#10060; | &#9989; |
| [FlixPatrol](overlays/flixpatrol) | `flixpatrol` | "Streaming service logo with words "TOP" | &#9989; | &#9989; | &#10060; | &#10060; |
| [Language Count](overlays/language_count) | `language_count` | Dual-Audio, Multi-Audio, Dual-Subtitle, Multi-Subtitle | &#9989; | &#9989; | &#9989; | &#9989; |
| [Languages](overlays/languages) | `languages` | Flags Based on the Audio/Subtitles a file has | &#9989; | &#9989; | &#9989; | &#9989; |
| [Mediastinger](overlays/mediastinger) | `mediastinger` | Mediastinger Logo for After/During Credit Scenes | &#9989; | &#9989; | &#10060; | &#10060; |
| [Ratings](overlays/ratings) | `ratings` | IMDb Audience Rating, Metacritic Critic Rating | &#9989; | &#9989; | &#10060; | &#9989; |
| [Resolution/Editions](overlays/resolution) | `resolution` | 4K Dolby Vision logo, 720P logo, "Director's Cut", "Criterion Collection" | &#9989; | &#9989; | &#10060; | &#9989; |
| [Ribbon](overlays/ribbon) | `ribbon` | IMDb Top 250 Ribbon, RT Fresh Ribbon | &#9989; | &#9989; | &#10060; | &#10060; |
| [Runtimes](overlays/runtimes) | `runtimes` | "Runtime: 1h 30m" | &#9989; | &#9989; | &#10060; | &#10060; |
| [Status](overlays/status) | `status` | Airing, Returning, Canceled, Ended | &#10060; | &#9989; | &#10060; | &#10060; |
| [Streaming](overlays/streaming) | `streaming` | Netflix logo, Hulu logo | &#9989; | &#9989; | &#10060; | &#10060; |
| [Versions](overlays/versions) | `versions` | Multiple Versions logo | &#9989; | &#9989; | &#9989; | &#9989; |
| [Video Format](overlays/video_format) | `video_format` | "REMUX", "HDTV" | &#9989; | &#10071; | &#10071; | &#9989; |
The default set of overlays are a combination of Positional Overlays and Text Overlays.
### Example Poster Overlays
![](images/movie-overlays1-annotated.png)
![](images/movie-overlays2-annotated.png)
<details>
<summary>Click to expand sample config.yml Movies overlays section:</summary>
**Note: This uses fonts not packaged with PMM. See [bullmoose20's Configs](https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/bullmoose20)**
```yaml
libraries:
Movies:
overlay_path:
- remove_overlays: false
- reapply_overlay: true
- pmm: resolution # 1
- pmm: audio_codec # 2
- pmm: mediastinger # 3
- pmm: special_release # 4
- pmm: 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/custom_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/custom_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/custom_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
- pmm: streaming # 8
- pmm: video_format # 9
- pmm: audio_language # 10
- pmm: ribbon # 11, 12 Bottom right sash is used by more than one overlay so a weight for priority can be applied
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
![](images/tvshow-poster-annotated.png)
<details>
<summary>Click to expand sample config.yml TV Shows overlays section for the Show Poster:</summary>
**Note: This uses fonts not packaged with PMM. See [bullmoose20's Configs](https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/bullmoose20)**
```yaml
libraries:
TV Shows:
overlay_path:
- remove_overlays: false
- reapply_overlay: true
- pmm: resolution # 1
- pmm: audio_codec # 2
- pmm: mediastinger # 3
- pmm: 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/custom_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/custom_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/custom_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
- pmm: streaming # 7
- pmm: video_format # 8
- pmm: ribbon # 10, 11 Bottom right sash is used by more than one overlay so a weight for priority can be applied
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
![](images/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
- pmm: resolution # 1
template_variables:
overlay_level: season
- pmm: audio_codec # 2
template_variables:
overlay_level: season
- pmm: video_format # 3
template_variables:
overlay_level: season
```
</details>
### Example TV Shows - Episode Overlays
![](images/tvshow-poster-episode-annotated.png)
<details>
<summary>Click to expand sample config.yml TV Shows overlays section for the Episode Poster:</summary>
**Note: This uses fonts not packaged with PMM. See [bullmoose20's Configs](https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/bullmoose20)**
```yaml
libraries:
TV Shows:
overlay_path:
- remove_overlays: false
- reapply_overlay: true
- pmm: resolution # 1
template_variables:
overlay_level: episode
- pmm: audio_codec # 2
template_variables:
overlay_level: episode
- pmm: 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/custom_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/custom_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
- pmm: video_format # 5
template_variables:
overlay_level: episode
- pmm: episode_info # 6
template_variables:
overlay_level: episode
- pmm: 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>
## Rating 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**
![](images/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**
![](images/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)
![](images/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`)
![](images/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:
- pmm: ratings
template_variables:
overlay_level: episode
```
Each file has a page on the wiki showing the available `template_variables` for each file. For example the default `pmm: ratings` has a page [here](ratings).
**In addition to the defined `template_variables` almost all default Overlay files have access to the [Shared Variables](collection_variables).**
### Examples
```{include} example.md
```

@ -61,7 +61,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -58,7 +58,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -1,243 +0,0 @@
# Overlay Defaults
There are many Default Overlay Files built into PMM itself which offer an easy-to-use and customizable set of Overlays that the user can achieve without having to worry about creating the files that makes the overlays possible.
This is the simplest way to create Overlays using Plex Meta Manager.
## Overlay Files
```{include} ../overlays.md
```
## Configurations
To run a default pmm Overlay file you can simply add it to your `overlay_path` using `pmm` like so:
```yaml
libraries:
Movies:
overlay_path:
- pmm: ribbon
- pmm: ratings
```
## Overlays
The default set of overlays are a combination of Positional Overlays and Text Overlays.
### Example Poster Overlays
![](../images/movie-overlays1-annotated.png)
![](../images/movie-overlays2-annotated.png)
<details>
<summary>Click to expand sample config.yml Movies overlays section:</summary>
**Note: This uses fonts not packaged with PMM. See [bullmoose20's Configs](https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/bullmoose20)**
```yaml
libraries:
Movies:
overlay_path:
- remove_overlays: false
- reapply_overlay: true
- pmm: resolution # 1
- pmm: audio_codec # 2
- pmm: mediastinger # 3
- pmm: special_release # 4
- pmm: 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/custom_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/custom_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/custom_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
- pmm: streaming # 8
- pmm: video_format # 9
- pmm: audio_language # 10
- pmm: ribbon # 11, 12 Bottom right sash is used by more than one overlay so a weight for priority can be applied
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
![](../images/tvshow-poster-annotated.png)
<details>
<summary>Click to expand sample config.yml TV Shows overlays section for the Show Poster:</summary>
**Note: This uses fonts not packaged with PMM. See [bullmoose20's Configs](https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/bullmoose20)**
```yaml
libraries:
TV Shows:
overlay_path:
- remove_overlays: false
- reapply_overlay: true
- pmm: resolution # 1
- pmm: audio_codec # 2
- pmm: mediastinger # 3
- pmm: 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/custom_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/custom_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/custom_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
- pmm: streaming # 7
- pmm: video_format # 8
- pmm: ribbon # 10, 11 Bottom right sash is used by more than one overlay so a weight for priority can be applied
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
![](../images/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
- pmm: resolution # 1
template_variables:
overlay_level: season
- pmm: audio_codec # 2
template_variables:
overlay_level: season
- pmm: video_format # 3
template_variables:
overlay_level: season
```
</details>
### Example TV Shows - Episode Overlays
![](../images/tvshow-poster-episode-annotated.png)
<details>
<summary>Click to expand sample config.yml TV Shows overlays section for the Episode Poster:</summary>
**Note: This uses fonts not packaged with PMM. See [bullmoose20's Configs](https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/bullmoose20)**
```yaml
libraries:
TV Shows:
overlay_path:
- remove_overlays: false
- reapply_overlay: true
- pmm: resolution # 1
template_variables:
overlay_level: episode
- pmm: audio_codec # 2
template_variables:
overlay_level: episode
- pmm: 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/custom_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/custom_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
- pmm: video_format # 5
template_variables:
overlay_level: episode
- pmm: episode_info # 6
template_variables:
overlay_level: episode
- pmm: 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>
## Rating 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**
![](../images/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**
![](../images/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)
![](../images/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`)
![](../images/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:
- pmm: ratings
template_variables:
overlay_level: episode
```
Each file has a page on the wiki showing the available `template_variables` for each file. For example the default `pmm: ratings` has a page [here](ratings).
**In addition to the defined `template_variables` almost all default Overlay files have access to the [Shared Variables](variables).**
### Examples
```{include} ../example.md
```

@ -32,7 +32,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -23,7 +23,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -37,7 +37,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) except `horizontal_offset`, `horizontal_align`, `vertical_offset`, and `vertical_align` are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) except `horizontal_offset`, `horizontal_align`, `vertical_offset`, and `vertical_align` are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------------:|

@ -41,7 +41,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -10,69 +10,69 @@ The `languages` Default Overlay File is used to create an overlay of a flag and
## Supported Audio/Subtitle Language Flags
| Audio/Subtitle Languages | Key | Weight | Default Flag |
|:-------------------------|:----:|:------:|:------------:|
| English | `en` | `610` | `us` |
| German | `de` | `600` | `de` |
| French | `fr` | `590` | `fr` |
| Japanese | `ja` | `580` | `jp` |
| Korean | `ko` | `570` | `kr` |
| Chinese | `zh` | `560` | `cn` |
| Danish | `da` | `550` | `dk` |
| Russian | `ru` | `540` | `ru` |
| Spanish | `es` | `530` | `es` |
| Italian | `it` | `520` | `it` |
| Portuguese | `pt` | `510` | `pt` |
| Hindi | `hi` | `500` | `in` |
| Telugu | `te` | `490` | `in` |
| Farsi | `fa` | `480` | `ir` |
| Thai | `th` | `470` | `th` |
| Dutch | `nl` | `460` | `nl` |
| Norwegian | `no` | `450` | `no` |
| Icelandic | `is` | `440` | `is` |
| Swedish | `sv` | `430` | `se` |
| Turkish | `tr` | `420` | `tr` |
| Polish | `pl` | `410` | `pl` |
| Czech | `cs` | `400` | `cz` |
| Ukrainian | `uk` | `390` | `ua` |
| Hungarian | `hu` | `380` | `hu` |
| Arabic | `ar` | `370` | `eg` |
| Bulgarian | `bg` | `360` | `bg` |
| Bengali | `bn` | `350` | `bd` |
| Bosnian | `bs` | `340` | `ba` |
| Catalan | `ca` | `330` | `es` |
| Welsh | `cy` | `320` | `uk` |
| Greek | `el` | `310` | `gr` |
| Estonian | `et` | `300` | `ee` |
| Basque | `eu` | `290` | `es` |
| Finnish | `fi` | `280` | `fi` |
| Filipino | `fl` | `270` | `ph` |
| Galician | `gl` | `260` | `es` |
| Hebrew | `he` | `250` | `il` |
| Croatian | `hr` | `240` | `hr` |
| Indonesian | `id` | `230` | `id` |
| Georgian | `ka` | `220` | `ge` |
| Kazakh | `kk` | `210` | `kz` |
| Kannada | `kn` | `200` | `in` |
| Latin | `la` | `190` | `it` |
| Lithuanian | `lt` | `180` | `lt` |
| Latvian | `lv` | `170` | `lv` |
| Macedonian | `mk` | `160` | `mk` |
| Malayalam | `ml` | `150` | `in` |
| Marathi | `mr` | `140` | `in` |
| Malay | `ms` | `130` | `my` |
| Norwegian Nokmål | `nb` | `120` | `no` |
| Norwegian Nynorsk | `nn` | `110` | `no` |
| Punjabi | `pa` | `100` | `in` |
| Romanian | `ro` | `90` | `ro` |
| Slovak | `sk` | `80` | `sk` |
| Slovenian | `sv` | `70` | `si` |
| Albanian | `sq` | `60` | `al` |
| Serbian | `sr` | `50` | `rs` |
| Swahili | `sw` | `40` | `tz` |
| Tamil | `ta` | `30` | `in` |
| Urdu | `ur` | `20` | `pk` |
| Vietnamese | `vi` | `10` | `vn` |
| Audio/Subtitle Languages | Key | Weight | Default Flag | Default Use |
|:-------------------------|:----:|:------:|:------------:|:-----------:|
| English | `en` | `610` | `us` | &#9989; |
| German | `de` | `600` | `de` | &#9989; |
| French | `fr` | `590` | `fr` | &#9989; |
| Spanish | `es` | `580` | `es` | &#9989; |
| Portuguese | `pt` | `570` | `pt` | &#9989; |
| Japanese | `ja` | `560` | `jp` | &#9989; |
| Korean | `ko` | `550` | `kr` | &#10060; |
| Chinese | `zh` | `540` | `cn` | &#10060; |
| Danish | `da` | `530` | `dk` | &#10060; |
| Russian | `ru` | `520` | `ru` | &#10060; |
| Italian | `it` | `510` | `it` | &#10060; |
| Hindi | `hi` | `500` | `in` | &#10060; |
| Telugu | `te` | `490` | `in` | &#10060; |
| Farsi | `fa` | `480` | `ir` | &#10060; |
| Thai | `th` | `470` | `th` | &#10060; |
| Dutch | `nl` | `460` | `nl` | &#10060; |
| Norwegian | `no` | `450` | `no` | &#10060; |
| Icelandic | `is` | `440` | `is` | &#10060; |
| Swedish | `sv` | `430` | `se` | &#10060; |
| Turkish | `tr` | `420` | `tr` | &#10060; |
| Polish | `pl` | `410` | `pl` | &#10060; |
| Czech | `cs` | `400` | `cz` | &#10060; |
| Ukrainian | `uk` | `390` | `ua` | &#10060; |
| Hungarian | `hu` | `380` | `hu` | &#10060; |
| Arabic | `ar` | `370` | `eg` | &#10060; |
| Bulgarian | `bg` | `360` | `bg` | &#10060; |
| Bengali | `bn` | `350` | `bd` | &#10060; |
| Bosnian | `bs` | `340` | `ba` | &#10060; |
| Catalan | `ca` | `330` | `es` | &#10060; |
| Welsh | `cy` | `320` | `uk` | &#10060; |
| Greek | `el` | `310` | `gr` | &#10060; |
| Estonian | `et` | `300` | `ee` | &#10060; |
| Basque | `eu` | `290` | `es` | &#10060; |
| Finnish | `fi` | `280` | `fi` | &#10060; |
| Filipino | `fl` | `270` | `ph` | &#10060; |
| Galician | `gl` | `260` | `es` | &#10060; |
| Hebrew | `he` | `250` | `il` | &#10060; |
| Croatian | `hr` | `240` | `hr` | &#10060; |
| Indonesian | `id` | `230` | `id` | &#10060; |
| Georgian | `ka` | `220` | `ge` | &#10060; |
| Kazakh | `kk` | `210` | `kz` | &#10060; |
| Kannada | `kn` | `200` | `in` | &#10060; |
| Latin | `la` | `190` | `it` | &#10060; |
| Lithuanian | `lt` | `180` | `lt` | &#10060; |
| Latvian | `lv` | `170` | `lv` | &#10060; |
| Macedonian | `mk` | `160` | `mk` | &#10060; |
| Malayalam | `ml` | `150` | `in` | &#10060; |
| Marathi | `mr` | `140` | `in` | &#10060; |
| Malay | `ms` | `130` | `my` | &#10060; |
| Norwegian Nokmål | `nb` | `120` | `no` | &#10060; |
| Norwegian Nynorsk | `nn` | `110` | `no` | &#10060; |
| Punjabi | `pa` | `100` | `in` | &#10060; |
| Romanian | `ro` | `90` | `ro` | &#10060; |
| Slovak | `sk` | `80` | `sk` | &#10060; |
| Slovenian | `sv` | `70` | `si` | &#10060; |
| Albanian | `sq` | `60` | `al` | &#10060; |
| Serbian | `sr` | `50` | `rs` | &#10060; |
| Swahili | `sw` | `40` | `tz` | &#10060; |
| Tamil | `ta` | `30` | `in` | &#10060; |
| Urdu | `ur` | `20` | `pk` | &#10060; |
| Vietnamese | `vi` | `10` | `vn` | &#10060; |
#### Square Style
@ -112,7 +112,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:----------------------------:|

@ -23,7 +23,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -60,9 +60,9 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](variables) can be appended by `rating1_`, `rating2_`, or `rating3_` to change that attribute on each rating individually.
All [Shared Overlay Variables](../overlay_variables.md) can be appended by `rating1_`, `rating2_`, or `rating3_` to change that attribute on each rating individually.
| Variable | Default |
|:--------------------|:-----------:|

@ -66,7 +66,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -36,7 +36,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:--------:|

@ -26,7 +26,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -35,7 +35,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -48,7 +48,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -32,7 +32,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:----------------:|

@ -45,7 +45,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Overlay Variables](variables) are available with the default values below as well as the additional Variables below which can be used to customize the file.
All [Shared Overlay Variables](../overlay_variables.md) are available with the default values below as well as the additional Variables below which can be used to customize the file.
| Variable | Default |
|:--------------------|:-----------:|

@ -34,7 +34,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
**[Shared Variables](variables) are NOT available to this default file.**
**[Shared Variables](collection_variables) are NOT available to this default file.**
| Variable | Description & Values |
|:-----------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -40,7 +40,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
**[Shared Variables](variables) are NOT available to separator collections in any default file.**
**[Shared Variables](collection_variables) are NOT available to separator collections in any default file.**
| Variable | Description & Values |
|:-------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -33,7 +33,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -37,7 +37,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -30,7 +30,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -31,7 +31,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
**[Shared Collection Variables](../variables) are NOT available to this default file.**
**[Shared Collection Variables](../collection_variables) are NOT available to this default file.**
| Variable | Description & Values |
|:-----------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

@ -30,7 +30,7 @@ Template Variables can be used to manipulate the file in various ways to slightl
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
All [Shared Collection Variables](../variables) are available as well as the additional Variables below which can be used to customize the file.
All [Shared Collection Variables](../collection_variables) are available as well as the additional Variables below which can be used to customize the file.
This file contains a [Separator](../separators) so all [Shared Separator Variables](../separators.md#shared-separator-variables) are available as well.

@ -157,8 +157,9 @@ If you are unable to use the [Plex Meta Manager Discord Server](https://discord.
[IBRACORP](https://ibracorp.io/) made a video walkthough for installing Plex Meta Manager on unRAID. While you might not be using unRAID the video goes over many key aspects of Plex Meta Manager and can be a great place to start learning how to use the script. Please note, since the making of the video, some significant changes have been made to Plex Meta Manager 1.17 and beyond so always reference the wiki for the latest details.
<div style="margin: 40px 0 40px 0;" align="center">
<iframe width="560" height="315" src="https://www.youtube.com/embed/dF69MNoot3w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<div id="IBRACORP-video" class="responsiveYT">
<iframe src="https://www.youtube.com/embed/dF69MNoot3w" frameborder="0" allowfullscreen>
</iframe>
</div>
<br>
<br>

@ -210,45 +210,47 @@ Tag search can take multiple values as a **list or a comma-separated string**.
### Tag Attributes
| Tag Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:---------------------|:----------------------------------------------------------------------------|:------------------:|:-----------------:|:------------------:|
| `actor` | Uses the actor tags to match | &#9989; | &#9989; | &#10060; |
| `audio_language` | Uses the audio language tags to match | &#9989; | &#9989; | &#10060; |
| `collection` | Uses the collection tags to match for top level collections | &#9989; | &#9989; | &#10060; |
| `season_collection` | Uses the collection tags to match for season collections | &#10060; | &#9989; | &#10060; |
| `episode_collection` | Uses the collection tags to match for episode collections | &#10060; | &#9989; | &#10060; |
| `content_rating` | Uses the content rating tags to match | &#9989; | &#9989; | &#10060; |
| `country` | Uses the country tags to match | &#9989; | &#10060; | &#10060; |
| `decade` | Uses the year tag to match the decade | &#9989; | &#10060; | &#10060; |
| `director` | Uses the director tags to match | &#9989; | &#10060; | &#10060; |
| `genre` | Uses the genre tags to match | &#9989; | &#9989; | &#10060; |
| `label` | Uses the label tags to match for top level collections | &#9989; | &#9989; | &#10060; |
| `season_label` | Uses the label tags to match for season collections | &#10060; | &#9989; | &#10060; |
| `episode_label` | Uses the label tags to match for episode collections | &#10060; | &#9989; | &#10060; |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | &#10060; | &#9989; | &#10060; |
| `producer` | Uses the actor tags to match | &#9989; | &#10060; | &#10060; |
| `resolution` | Uses the resolution tags to match | &#9989; | &#9989; | &#10060; |
| `subtitle_language` | Uses the subtitle language tags to match | &#9989; | &#9989; | &#10060; |
| `writer` | Uses the writer tags to match | &#9989; | &#10060; | &#10060; |
| `year` | Uses the year tag to match | &#9989; | &#9989; | &#10060; |
| `episode_year` | Uses the year tag to match | &#10060; | &#9989; | &#10060; |
| `artist_genre` | Uses the Artist's Genre attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_collection` | Uses the Artist's Collection attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_country` | Uses the Artist's Country attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_mood` | Uses the Artist's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_style` | Uses the Artist's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_label` | Uses the Artist's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `album_genre` | Uses the Album's Genre attribute to match | &#10060; | &#10060; | &#9989; |
| `album_mood` | Uses the Album's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `album_style` | Uses the Album's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `album_format` | Uses the Album's Format attribute to match | &#10060; | &#10060; | &#9989; |
| `album_type` | Uses the Album's Type attribute to match | &#10060; | &#10060; | &#9989; |
| `album_collection` | Uses the Album's Collection attribute to match | &#10060; | &#10060; | &#9989; |
| `album_source` | Uses the Album's Source attribute to match | &#10060; | &#10060; | &#9989; |
| `album_label` | Uses the Album's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `track_mood` | Uses the Track's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `track_source` | Uses the Track's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `track_label` | Uses the Track's Label attribute to match | &#10060; | &#10060; | &#9989; |
| Tag Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:---------------------------|:----------------------------------------------------------------------------|:------------------:|:-----------------:|:------------------:|
| `actor` | Uses the actor tags to match | &#9989; | &#9989; | &#10060; |
| `audio_language` | Uses the audio language tags to match | &#9989; | &#9989; | &#10060; |
| `collection` | Uses the collection tags to match for top level collections | &#9989; | &#9989; | &#10060; |
| `season_collection` | Uses the collection tags to match for season collections | &#10060; | &#9989; | &#10060; |
| `episode_collection` | Uses the collection tags to match for episode collections | &#10060; | &#9989; | &#10060; |
| `content_rating` | Uses the content rating tags to match | &#9989; | &#9989; | &#10060; |
| `country` | Uses the country tags to match | &#9989; | &#10060; | &#10060; |
| `decade`<sup>1</sup> | Uses the year tag to match the decade | &#9989; | &#10060; | &#10060; |
| `director` | Uses the director tags to match | &#9989; | &#10060; | &#10060; |
| `genre` | Uses the genre tags to match | &#9989; | &#9989; | &#10060; |
| `label` | Uses the label tags to match for top level collections | &#9989; | &#9989; | &#10060; |
| `season_label` | Uses the label tags to match for season collections | &#10060; | &#9989; | &#10060; |
| `episode_label` | Uses the label tags to match for episode collections | &#10060; | &#9989; | &#10060; |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | &#10060; | &#9989; | &#10060; |
| `producer` | Uses the actor tags to match | &#9989; | &#10060; | &#10060; |
| `resolution` | Uses the resolution tags to match | &#9989; | &#9989; | &#10060; |
| `subtitle_language` | Uses the subtitle language tags to match | &#9989; | &#9989; | &#10060; |
| `writer` | Uses the writer tags to match | &#9989; | &#10060; | &#10060; |
| `year`<sup>1</sup> | Uses the year tag to match | &#9989; | &#9989; | &#10060; |
| `episode_year`<sup>1</sup> | Uses the year tag to match | &#10060; | &#9989; | &#10060; |
| `artist_genre` | Uses the Artist's Genre attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_collection` | Uses the Artist's Collection attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_country` | Uses the Artist's Country attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_mood` | Uses the Artist's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_style` | Uses the Artist's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_label` | Uses the Artist's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `album_genre` | Uses the Album's Genre attribute to match | &#10060; | &#10060; | &#9989; |
| `album_mood` | Uses the Album's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `album_style` | Uses the Album's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `album_format` | Uses the Album's Format attribute to match | &#10060; | &#10060; | &#9989; |
| `album_type` | Uses the Album's Type attribute to match | &#10060; | &#10060; | &#9989; |
| `album_collection` | Uses the Album's Collection attribute to match | &#10060; | &#10060; | &#9989; |
| `album_source` | Uses the Album's Source attribute to match | &#10060; | &#10060; | &#9989; |
| `album_label` | Uses the Album's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `track_mood` | Uses the Track's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `track_source` | Uses the Track's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `track_label` | Uses the Track's Label attribute to match | &#10060; | &#10060; | &#9989; |
<sup>1</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
## Date Searches
@ -305,28 +307,30 @@ No number search can take multiple values.
### Number Attributes
| Number Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:--------------------------|:------------------------------------------------------------------------------------------------|:------------------:|:-----------------:|:------------------:|
| `duration` | Uses the duration attribute to match using minutes<br>**Minimum:** `0` | &#9989; | &#10060; | &#10060; |
| `plays` | Uses the plays attribute to match<br>**Minimum:** `0` | &#9989; | &#9989; | &#10060; |
| `episode_plays` | Uses the Episode's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#9989; | &#10060; |
| `critic_rating` | Uses the critic rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `audience_rating` | Uses the audience rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `user_rating` | Uses the user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#9989; | &#10060; |
| `episode_critic_rating` | Uses the critic rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#9989; | &#10060; |
| `episode_audience_rating` | Uses the audience rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#9989; | &#10060; |
| `year` | Uses the year attribute to match<br>**Minimum:** `0` | &#9989; | &#9989; | &#10060; |
| `episode_year` | Uses the Episode's year attribute to match<br>**Minimum:** `0` | &#10060; | &#9989; | &#10060; |
| `album_year` | Uses the Album's year attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `album_decade` | Uses the Album's decade attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `album_plays` | Uses the Album's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `track_plays` | Uses the Track's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `track_skips` | Uses the Track's skips attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `artist_user_rating` | Uses the Artist's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `album_user_rating` | Uses the Album's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `album_critic_rating` | Uses the Album's critic rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `track_user_rating` | Uses the Track's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| Number Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:---------------------------|:------------------------------------------------------------------------------------------------|:------------------:|:-----------------:|:------------------:|
| `duration` | Uses the duration attribute to match using minutes<br>**Minimum:** `0` | &#9989; | &#10060; | &#10060; |
| `plays` | Uses the plays attribute to match<br>**Minimum:** `0` | &#9989; | &#9989; | &#10060; |
| `episode_plays` | Uses the Episode's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#9989; | &#10060; |
| `critic_rating` | Uses the critic rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `audience_rating` | Uses the audience rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `user_rating` | Uses the user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#9989; | &#10060; |
| `episode_critic_rating` | Uses the critic rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#9989; | &#10060; |
| `episode_audience_rating` | Uses the audience rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#9989; | &#10060; |
| `year`<sup>1</sup> | Uses the year attribute to match<br>**Minimum:** `0` | &#9989; | &#9989; | &#10060; |
| `episode_year`<sup>1</sup> | Uses the Episode's year attribute to match<br>**Minimum:** `0` | &#10060; | &#9989; | &#10060; |
| `album_year`<sup>1</sup> | Uses the Album's year attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `album_decade`<sup>1</sup> | Uses the Album's decade attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `album_plays` | Uses the Album's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `track_plays` | Uses the Track's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `track_skips` | Uses the Track's skips attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `artist_user_rating` | Uses the Artist's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `album_user_rating` | Uses the Album's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `album_critic_rating` | Uses the Album's critic rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `track_user_rating` | Uses the Track's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
<sup>1</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
## Boolean Searches

@ -144,45 +144,47 @@ Tag filter can take multiple values as a **list or a comma-separated string**.
### Tag Attributes
| Tag Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:---------------------|:----------------------------------------------------------------------------|:------------------:|:-----------------:|:------------------:|
| `actor` | Uses the actor tags to match | &#9989; | &#9989; | &#10060; |
| `audio_language` | Uses the audio language tags to match | &#9989; | &#9989; | &#10060; |
| `collection` | Uses the collection tags to match for top level collections | &#9989; | &#9989; | &#10060; |
| `season_collection` | Uses the collection tags to match for season collections | &#10060; | &#9989; | &#10060; |
| `episode_collection` | Uses the collection tags to match for episode collections | &#10060; | &#9989; | &#10060; |
| `content_rating` | Uses the content rating tags to match | &#9989; | &#9989; | &#10060; |
| `country` | Uses the country tags to match | &#9989; | &#10060; | &#10060; |
| `decade` | Uses the year tag to match the decade | &#9989; | &#10060; | &#10060; |
| `director` | Uses the director tags to match | &#9989; | &#10060; | &#10060; |
| `genre` | Uses the genre tags to match | &#9989; | &#9989; | &#10060; |
| `label` | Uses the label tags to match for top level collections | &#9989; | &#9989; | &#10060; |
| `season_label` | Uses the label tags to match for season collections | &#10060; | &#9989; | &#10060; |
| `episode_label` | Uses the label tags to match for episode collections | &#10060; | &#9989; | &#10060; |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | &#10060; | &#9989; | &#10060; |
| `producer` | Uses the actor tags to match | &#9989; | &#10060; | &#10060; |
| `resolution` | Uses the resolution tags to match | &#9989; | &#9989; | &#10060; |
| `subtitle_language` | Uses the subtitle language tags to match | &#9989; | &#9989; | &#10060; |
| `writer` | Uses the writer tags to match | &#9989; | &#10060; | &#10060; |
| `year` | Uses the year tag to match | &#9989; | &#9989; | &#10060; |
| `episode_year` | Uses the year tag to match | &#10060; | &#9989; | &#10060; |
| `artist_genre` | Uses the Artist's Genre attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_collection` | Uses the Artist's Collection attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_country` | Uses the Artist's Country attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_mood` | Uses the Artist's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_style` | Uses the Artist's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_label` | Uses the Artist's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `album_genre` | Uses the Album's Genre attribute to match | &#10060; | &#10060; | &#9989; |
| `album_mood` | Uses the Album's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `album_style` | Uses the Album's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `album_format` | Uses the Album's Format attribute to match | &#10060; | &#10060; | &#9989; |
| `album_type` | Uses the Album's Type attribute to match | &#10060; | &#10060; | &#9989; |
| `album_collection` | Uses the Album's Collection attribute to match | &#10060; | &#10060; | &#9989; |
| `album_source` | Uses the Album's Source attribute to match | &#10060; | &#10060; | &#9989; |
| `album_label` | Uses the Album's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `track_mood` | Uses the Track's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `track_source` | Uses the Track's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `track_label` | Uses the Track's Label attribute to match | &#10060; | &#10060; | &#9989; |
| Tag Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:---------------------------|:----------------------------------------------------------------------------|:------------------:|:-----------------:|:------------------:|
| `actor` | Uses the actor tags to match | &#9989; | &#9989; | &#10060; |
| `audio_language` | Uses the audio language tags to match | &#9989; | &#9989; | &#10060; |
| `collection` | Uses the collection tags to match for top level collections | &#9989; | &#9989; | &#10060; |
| `season_collection` | Uses the collection tags to match for season collections | &#10060; | &#9989; | &#10060; |
| `episode_collection` | Uses the collection tags to match for episode collections | &#10060; | &#9989; | &#10060; |
| `content_rating` | Uses the content rating tags to match | &#9989; | &#9989; | &#10060; |
| `country` | Uses the country tags to match | &#9989; | &#10060; | &#10060; |
| `decade`<sup>1</sup> | Uses the year tag to match the decade | &#9989; | &#10060; | &#10060; |
| `director` | Uses the director tags to match | &#9989; | &#10060; | &#10060; |
| `genre` | Uses the genre tags to match | &#9989; | &#9989; | &#10060; |
| `label` | Uses the label tags to match for top level collections | &#9989; | &#9989; | &#10060; |
| `season_label` | Uses the label tags to match for season collections | &#10060; | &#9989; | &#10060; |
| `episode_label` | Uses the label tags to match for episode collections | &#10060; | &#9989; | &#10060; |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | &#10060; | &#9989; | &#10060; |
| `producer` | Uses the actor tags to match | &#9989; | &#10060; | &#10060; |
| `resolution` | Uses the resolution tags to match | &#9989; | &#9989; | &#10060; |
| `subtitle_language` | Uses the subtitle language tags to match | &#9989; | &#9989; | &#10060; |
| `writer` | Uses the writer tags to match | &#9989; | &#10060; | &#10060; |
| `year`<sup>1</sup> | Uses the year tag to match | &#9989; | &#9989; | &#10060; |
| `episode_year`<sup>1</sup> | Uses the year tag to match | &#10060; | &#9989; | &#10060; |
| `artist_genre` | Uses the Artist's Genre attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_collection` | Uses the Artist's Collection attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_country` | Uses the Artist's Country attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_mood` | Uses the Artist's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_style` | Uses the Artist's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_label` | Uses the Artist's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `album_genre` | Uses the Album's Genre attribute to match | &#10060; | &#10060; | &#9989; |
| `album_mood` | Uses the Album's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `album_style` | Uses the Album's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `album_format` | Uses the Album's Format attribute to match | &#10060; | &#10060; | &#9989; |
| `album_type` | Uses the Album's Type attribute to match | &#10060; | &#10060; | &#9989; |
| `album_collection` | Uses the Album's Collection attribute to match | &#10060; | &#10060; | &#9989; |
| `album_source` | Uses the Album's Source attribute to match | &#10060; | &#10060; | &#9989; |
| `album_label` | Uses the Album's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `track_mood` | Uses the Track's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `track_source` | Uses the Track's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `track_label` | Uses the Track's Label attribute to match | &#10060; | &#10060; | &#9989; |
<sup>1</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
## Date Filters
@ -239,26 +241,28 @@ No number filter can take multiple values.
### Number Attributes
| Number Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:----------------------|:--------------------------------------------------------------------------------------------|:------------------:|:-----------------:|:------------------:|
| `duration` | Uses the duration attribute to match using minutes<br>**Minimum:** `0` | &#9989; | &#10060; | &#10060; |
| `plays` | Uses the plays attribute to match<br>**Minimum:** `0` | &#9989; | &#9989; | &#10060; |
| `episode_plays` | Uses the Episode's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#9989; | &#10060; |
| `critic_rating` | Uses the critic rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `audience_rating` | Uses the audience rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `user_rating` | Uses the user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#9989; | &#10060; |
| `year` | Uses the year attribute to match<br>**Minimum:** `0` | &#9989; | &#9989; | &#10060; |
| `episode_year` | Uses the Episode's year attribute to match<br> **Minimum:** `0` | &#10060; | &#9989; | &#10060; |
| `album_year` | Uses the Album's year attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `album_decade` | Uses the Album's decade attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `album_plays` | Uses the Album's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `track_plays` | Uses the Track's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `track_skips` | Uses the Track's skips attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `artist_user_rating` | Uses the Artist's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `album_user_rating` | Uses the Album's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `album_critic_rating` | Uses the Album's critic rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `track_user_rating` | Uses the Track's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| Number Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:---------------------------|:--------------------------------------------------------------------------------------------|:------------------:|:-----------------:|:------------------:|
| `duration` | Uses the duration attribute to match using minutes<br>**Minimum:** `0` | &#9989; | &#10060; | &#10060; |
| `plays` | Uses the plays attribute to match<br>**Minimum:** `0` | &#9989; | &#9989; | &#10060; |
| `episode_plays` | Uses the Episode's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#9989; | &#10060; |
| `critic_rating` | Uses the critic rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `audience_rating` | Uses the audience rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `user_rating` | Uses the user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#9989; | &#9989; | &#10060; |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#9989; | &#10060; |
| `year`<sup>1</sup> | Uses the year attribute to match<br>**Minimum:** `0` | &#9989; | &#9989; | &#10060; |
| `episode_year`<sup>1</sup> | Uses the Episode's year attribute to match<br> **Minimum:** `0` | &#10060; | &#9989; | &#10060; |
| `album_year`<sup>1</sup> | Uses the Album's year attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `album_decade`<sup>1</sup> | Uses the Album's decade attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `album_plays` | Uses the Album's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `track_plays` | Uses the Track's plays attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `track_skips` | Uses the Track's skips attribute to match<br>**Minimum:** `0` | &#10060; | &#10060; | &#9989; |
| `artist_user_rating` | Uses the Artist's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `album_user_rating` | Uses the Album's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `album_critic_rating` | Uses the Album's critic rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
| `track_user_rating` | Uses the Track's user rating attribute to match<br>**Range:** `0.0` - `10.0` | &#10060; | &#10060; | &#9989; |
<sup>1</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
## Boolean Filters

@ -105,7 +105,7 @@ Tag filters can take multiple values as a **list or a comma-separated string**.
| `genre` | Uses the genre tags to match | &#9989; | &#9989; | &#10060; | &#10060; | &#9989; | &#9989; | &#10060; |
| `label` | Uses the label tags to match | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; |
| `producer` | Uses the actor tags to match | &#9989; | &#10060; | &#10060; | &#9989; | &#10060; | &#10060; | &#10060; |
| `year` | Uses the year tag to match | &#9989; | &#9989; | &#9989; | &#9989; | &#10060; | &#9989; | &#9989; |
| `year`<sup>3</sup> | Uses the year tag to match | &#9989; | &#9989; | &#9989; | &#9989; | &#10060; | &#9989; | &#9989; |
| `writer` | Uses the writer tags to match | &#9989; | &#10060; | &#10060; | &#9989; | &#10060; | &#10060; | &#10060; |
| `resolution` | Uses the resolution tag to match | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#10060; | &#10060; | &#10060; |
| `audio_language` | Uses the audio language tags to match | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#10060; | &#10060; | &#10060; |
@ -118,6 +118,8 @@ Tag filters can take multiple values as a **list or a comma-separated string**.
<sup>2</sup> Also filters out missing movies/shows from being added to Radarr/Sonarr. These Values also cannot use the `count` modifiers.
<sup>3</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
## Boolean Filters
Boolean Filters have no modifiers.
@ -180,26 +182,28 @@ Number filters can **NOT** take multiple values.
### Attribute
| Number Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
|:------------------------------|:---------------------------------------------------------------------|:-------:|:-------------------:|:-------------------:|:--------:|:-------------------:|:-------------------:|:--------:|
| `year` | Uses the year attribute to match<br>minimum: `1` | &#9989; | &#9989; | &#9989; | &#9989; | &#10060; | &#9989; | &#9989; |
| `tmdb_year`<sup>2</sup> | Uses the year on TMDb to match<br>minimum: `1` | &#9989; | &#9989; | &#10060; | &#10060; | &#10060; | &#10060; | &#10060; |
| `critic_rating` | Uses the critic rating attribute to match<br>`0.0` - `10.0` | &#9989; | &#9989; | &#10060; | &#9989; | &#10060; | &#9989; | &#10060; |
| `audience_rating` | Uses the audience rating attribute to match<br> `0.0` - `10.0` | &#9989; | &#9989; | &#10060; | &#9989; | &#10060; | &#10060; | &#10060; |
| `user_rating` | Uses the user rating attribute to match<br>`0.0` - `10.0` | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; |
| `tmdb_vote_count`<sup>2</sup> | Uses the tmdb vote count to match<br>minimum: `1` | &#9989; | &#9989; | &#10060; | &#10060; | &#10060; | &#10060; | &#10060; |
| `plays` | Uses the plays attribute to match<br>minimum: `1` | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; |
| `duration` | Uses the duration attribute to match using minutes<br>minimum: `0.0` | &#9989; | &#9989; | &#10060; | &#9989; | &#10060; | &#10060; | &#9989; |
| `channels` | Uses the audio channels attribute to match<br>minimum: `0` | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#10060; | &#10060; | &#10060; |
| `height` | Uses the height attribute to match<br>minimum: `0` | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#10060; | &#10060; | &#10060; |
| `width` | Uses the width attribute to match<br>minimum: `0` | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#10060; | &#10060; | &#10060; |
| `aspect` | Uses the aspect attribute to match<br>minimum: `0.0` | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#10060; | &#10060; | &#10060; |
| `versions` | Uses the number of versions found to match<br>minimum: `0` | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; |
| Number Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
|:------------------------------------|:---------------------------------------------------------------------|:-------:|:-------------------:|:-------------------:|:--------:|:-------------------:|:-------------------:|:--------:|
| `year`<sup>3</sup> | Uses the year attribute to match<br>minimum: `1` | &#9989; | &#9989; | &#9989; | &#9989; | &#10060; | &#9989; | &#9989; |
| `tmdb_year`<sup>2</sup><sup>3</sup> | Uses the year on TMDb to match<br>minimum: `1` | &#9989; | &#9989; | &#10060; | &#10060; | &#10060; | &#10060; | &#10060; |
| `critic_rating` | Uses the critic rating attribute to match<br>`0.0` - `10.0` | &#9989; | &#9989; | &#10060; | &#9989; | &#10060; | &#9989; | &#10060; |
| `audience_rating` | Uses the audience rating attribute to match<br> `0.0` - `10.0` | &#9989; | &#9989; | &#10060; | &#9989; | &#10060; | &#10060; | &#10060; |
| `user_rating` | Uses the user rating attribute to match<br>`0.0` - `10.0` | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; |
| `tmdb_vote_count`<sup>2</sup> | Uses the tmdb vote count to match<br>minimum: `1` | &#9989; | &#9989; | &#10060; | &#10060; | &#10060; | &#10060; | &#10060; |
| `plays` | Uses the plays attribute to match<br>minimum: `1` | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; | &#9989; |
| `duration` | Uses the duration attribute to match using minutes<br>minimum: `0.0` | &#9989; | &#9989; | &#10060; | &#9989; | &#10060; | &#10060; | &#9989; |
| `channels` | Uses the audio channels attribute to match<br>minimum: `0` | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#10060; | &#10060; | &#10060; |
| `height` | Uses the height attribute to match<br>minimum: `0` | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#10060; | &#10060; | &#10060; |
| `width` | Uses the width attribute to match<br>minimum: `0` | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#10060; | &#10060; | &#10060; |
| `aspect` | Uses the aspect attribute to match<br>minimum: `0.0` | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#10060; | &#10060; | &#10060; |
| `versions` | Uses the number of versions found to match<br>minimum: `0` | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; | &#9989;<sup>1</sup> | &#9989;<sup>1</sup> | &#9989; |
<sup>1</sup> Filters using the special `episodes` [filter](#special-filters) with the [default percent](details/definition).
<sup>2</sup> Also filters out missing movies/shows from being added to Radarr/Sonarr.
<sup>3</sup> You can use `current_year` to have PMM use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current-2`
## Special Filters
Special Filters each have their own set of rules for how they're used.

@ -2061,12 +2061,28 @@ class CollectionBuilder:
return datetime.strftime(datetime.now(), "%Y-%m-%d")
else:
return util.validate_date(data, final, return_as="%Y-%m-%d")
elif attribute in year_attributes and modifier in ["", ".not"]:
final_years = []
values = util.get_list(data)
for value in values:
final_years.append(util.parse(self.Type, final, value, datatype="int"))
return smart_pair(final_years)
elif attribute in year_attributes and modifier in ["", ".not", ".gt", ".gte", ".lt", ".lte"]:
if modifier in ["", ".not"]:
final_years = []
values = util.get_list(data)
for value in values:
if str(value).startswith("current_year"):
year_values = str(value).split("-")
try:
final_years.append(datetime.now().year - (0 if len(year_values) == 1 else int(year_values[1].strip())))
except ValueError:
raise Failed(f"{self.Type} Error: {final} attribute modifier invalid '{year_values[1]}'")
else:
final_years.append(util.parse(self.Type, final, value, datatype="int"))
return smart_pair(final_years)
else:
if str(data).startswith("current_year"):
year_values = str(data).split("-")
try:
return datetime.now().year - (0 if len(year_values) == 1 else int(year_values[1].strip()))
except ValueError:
raise Failed(f"{self.Type} Error: {final} attribute modifier invalid '{year_values[1]}'")
return util.parse(self.Type, final, data, datatype="int", minimum=0)
elif attribute in date_attributes and modifier in ["", ".not"]:
search_mod = "d"
if plex_search and data and str(data)[-1] in ["s", "m", "h", "d", "w", "o", "y"]:
@ -2074,7 +2090,7 @@ class CollectionBuilder:
data = str(data)[:-1]
search_data = util.parse(self.Type, final, data, datatype="int", minimum=0)
return f"{search_data}{search_mod}" if plex_search else search_data
elif (attribute in number_attributes + year_attributes and modifier in ["", ".not", ".gt", ".gte", ".lt", ".lte"]) \
elif (attribute in number_attributes and modifier in ["", ".not", ".gt", ".gte", ".lt", ".lte"]) \
or (attribute in tag_attributes and modifier in [".count_gt", ".count_gte", ".count_lt", ".count_lte"]):
return util.parse(self.Type, final, data, datatype="int", minimum=0)
elif attribute in float_attributes and modifier in ["", ".not", ".gt", ".gte", ".lt", ".lte"]:

@ -755,12 +755,18 @@ class MetadataFile(DataFile):
number_methods = {nm.lower(): nm for nm in dynamic_data}
if "starting" in number_methods and str(dynamic_data[number_methods["starting"]]).startswith("current_year"):
year_values = str(dynamic_data[number_methods["starting"]]).split("-")
starting = datetime.now().year - (0 if len(year_values) == 1 else int(year_values[1].strip()))
try:
starting = datetime.now().year - (0 if len(year_values) == 1 else int(year_values[1].strip()))
except ValueError:
raise Failed(f"Config Error: starting attribute modifier invalid '{year_values[1]}'")
else:
starting = util.parse("Config", "starting", dynamic_data, parent=f"{map_name} data", methods=number_methods, datatype="int", default=0, minimum=0)
if "ending" in number_methods and str(dynamic_data[number_methods["ending"]]).startswith("current_year"):
year_values = str(dynamic_data[number_methods["ending"]]).split("-")
ending = datetime.now().year - (0 if len(year_values) == 1 else int(year_values[1].strip()))
try:
ending = datetime.now().year - (0 if len(year_values) == 1 else int(year_values[1].strip()))
except ValueError:
raise Failed(f"Config Error: ending attribute modifier invalid '{year_values[1]}'")
else:
ending = util.parse("Config", "ending", dynamic_data, parent=f"{map_name} data", methods=number_methods, datatype="int", default=0, minimum=1)
increment = util.parse("Config", "increment", dynamic_data, parent=f"{map_name} data", methods=number_methods, datatype="int", default=1, minimum=1) if "increment" in number_methods else 1

@ -354,6 +354,10 @@ class Overlays:
self.config.Cache.update_image_map(item.ratingKey, f"{self.library.image_table_name}_overlays", item.thumb, poster_compare, overlay='|'.join(compare_names))
except Failed as e:
logger.error(f"{e}\nOverlays Attempted on {item_title}: {', '.join(over_names)}")
except Exception as e:
logger.stacktrace(e)
logger.error("")
logger.error(f"Overlays Attempted on {item_title}: {', '.join(over_names)}")
logger.exorcise()
overlay_run_time = str(datetime.now() - overlay_start).split('.')[0]
logger.info("")

Loading…
Cancel
Save