The Image Asset Directories can be used to update the posters and backgrounds of collections, movies, shows, seasons, and episodes.
You can specify your asset folders under the `settings` attribute `asset_directory`.
To use multiple Image Asset Directories you have to use a list. Comma-separated values will not work. By default, the program will look in the same folder as you config.yml for a folder called assets.
There are two different options when it comes to how the program looks at the files inside you Asset Directories. These can be toggled between by using `asset_folders`.
## How assets are run
Assets are searched for only at specific times.
1. Collection assets are searched for whenever that collection is run.
2. Item assets for items in a collection are searched for whenever that collection is run and has `item_assets: true` as a Collection Detail.
3. Item assets and Unmanaged Collections assets are searched for whenever the `assets_for_all` Library Operation is active.
4. Item assets will be searched for any item that has an overlay applied to it.
* If you want to silence the `Asset Warning: No poster or background found in an assets folder for 'TITLE'` you can use the `show_missing_assets` attribute under `settings`
## Asset Naming
The table below shows the asset folder path structures that will be searched for. There are two different options when it comes to how the program looks at the files inside you Asset Directories. These can be toggled between by using the `asset_folders` attribute under `settings`.
| Image Type | Image Path With Folders<br>`asset_folders: true` | Image Path Without Folder<br>`asset_folders: false` |
| :--- | :--- | :--- |
@ -15,20 +30,16 @@ There are two different options when it comes to how the program looks at the fi
* For **Collections** replace `ASSET_NAME` with the mapping name used with the collection unless `system_name` is specified, which you would then use what's specified in `system_name`.
* For **Movies** replace `ASSET_NAME` with the exact name of the folder the video file is stored in.
* i.e. if you have `Movies/Star Wars (1977)/Star Wars (1977) [1080p].mp4` then your asset directory would look at either `assets/Star Wars (1977)/poster.png` or `assets/Star Wars (1977).png` for the poster.
* For **Shows**, **Seasons**, and **Episodes** replace `ASSET_NAME` with the exact name of the folder for the show as a whole.
* i.e. if you have `Shows/Game of Thrones/Season 1/Game of Thrones - S01E01.mp4` then your asset directory would look at either `assets/Game of Thrones/poster.png` or `assets/Game of Thrones.png` for the poster.
* For **Seasons** replace `##` with the zero padded season number (00 for specials)
* For **Episodes** replacing the first `##` with the zero padded season number (00 for specials), the second `##` with the zero padded episode number
* Replace `.ext` with the image extension
By default, the program will only look inside the Image Asset Directories for Images when it runs a collection from a Metadata File. When it does this by default it will only look for the collection images, but you can have it look for images of every item in the collection if you add `item_assets: true` to the collection config.
If you're using `asset_folders` set to true you can also nest movie/show folders inside an Image Assets Collection Folder that contains that movie/show.
You can set `assets_for_all` to true to have the program, after your run, check the Image Asset Directories for Images of every item in your library.
* When `asset_folders` is set to true you can also nest movie/show folders inside other folders.
Here's an example config folder structure with an assets directory with `asset_folders` set to true and false.
| Cache | `cache` | Create a cache database for faster processing. The cache file is created in the same location as your config file.<br>**boolean:** true or false | true | :heavy_check_mark: | :x: | :x: |
| Cache Expiration | `cache_expiration` | Number of days before each cache mapping expires and has to be reloaded | 60 | :heavy_check_mark: | :x: | :x: |
| Image Asset Folders | `asset_folders` | Search in assets for named folders vs named files<br>i.e. `assets/Star Wars.png` vs `assets/Star Wars/poster.png` | true | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Create Asset Folders | `create_asset_folders` | When using `assets_for_all` if this is set to true PMM will create the Movie/Shows Folder for assets to be placed in | false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Sync Mode | `sync_mode` | `append`: Only Add Items to the Collection<br>`sync`: Add & Remove Items from the Collection | append | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Collection Minimum | `collection_minimum` | Minimum items that must be found to add to a collection. | 1 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Delete Below Minimum | `delete_below_minimum` | Delete existing collection if below the minimum.<br>**boolean:** true or false | false | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Run Again Delay](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Details#setting-attributes) | `run_again_delay` | Number of minutes to run `run_again` collections after daily run is finished<br>**number:** 0 or greater | 0 | :heavy_check_mark: | :x: | :x: |
| Missing Only Released | `missing_only_released` | Library Level toggle to filter missing items from a collection that have yet to be released.<br>**boolean:** true or false | false | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Show Unmanaged Collections | `show_unmanaged` | Show collections not managed by Plex Meta Manager at the end of each run<br>**boolean:** true or false | true | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Show Filtered Collections | `show_filtered` | Library Level toggle to show filtered collections<br>**boolean:** true or false | false | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Show Missing | `show_missing` | Library Level toggle to show movies/shows missing from collections<br>**boolean:** true or false | true | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Save Missing | `save_missing` | Library Level toggle to save movies/shows missing from collections to a file next to you Metadata file<br>**boolean:** true or false | true | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
\* The file/folder name in your assets directory must match the folder name the media is stored in. i.e. if you have `Movies/Star Wars (1977)/Star Wars (1977) [1080p].mp4` then your asset directory would look at `assets/Star Wars (1977)/poster.png` for the poster
| Name | Attribute | Allowed Values | Global Level | Library Level | Collection Level |
| [TVDb Language](#tvdb-language) | `tvdb_language` | [ISO 639-2 Language Code](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) or Blank for original Language<br>**default: ** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## Cache
Will use a cached database for faster processing. The cache file is created in the same location as your config file.
You can change the number of `cache_expiration` to set the number of days before each cache mapping expires and has to be reloaded
## Image Asset Folders
When searching [Image Asset Directories](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Asset-Directory) search for named folders vs named files<br>i.e. `assets/Star Wars.png` vs `assets/Star Wars/poster.png`.
## Create Asset Folders
When using the `assets_for_all` [Library Operation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Operations-Attributes) folders will be created for each Item in your library for assets to be placed in.
## Sync Mode
Set the default `sync_mode`. It can be either `append` when you want to add only and `sync` when you want to add and remove from collections.
## Collection Minimum
Minimum number of items that must be found in order to update a collection.
## Delete Below Minimum
When a collection is run it will be deleted if it is below the minimum specified by `collection_minimum`.
## Run Again Delay
Number of minutes to run `run_again` collections after daily run is finished.
A collection is a `run_again` collection if it has the `run_again` [Collection Detail](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Details#setting-details) attribute set to true.
## Missing Only Released
Library Level toggle to filter missing items from a collection that has yet to be released.
## Show Unmanaged Collections
Show collections not managed by Plex Meta Manager at the end of each run.
## Show Filtered Collections
Library Level toggle to show items filtered from collections.
## Show Missing
Library Level toggle to show items missing from collections
## Show Missing Assets
Library Level toggle to silence missing assets warnings.
## Save Missing
Library Level toggle to save items missing from collections to a filein the same directory as your Metadata file.
## TVDb Language
Use an [ISO 639-2 Language Code](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) to specify the language to query TVDb in.
If no language is specified or the specified language is not found then the original language is used.
* Each Attribute can be either a webhook url as a string or a comma-separated list of webhooks urls.
* To send notifications to [Notifiarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Notifiarr-Attributes) just add `notifiarr` to a webhook instead of the webhook url.