45 KiB
Dynamic Collection Types & Data
Every dynamic collection definition requires the type
attribute which determines the attribute used to dynamically
create collections.
Depending on the type
of dynamic collection, data
is used to specify the options that are required to fulfill the
requirements of creating the collection.
??? blank "tmdb_collection
- Collections based on TMDb Collections.¶"
<div id="tmdb-collection" />Creates collections based on the TMDb Collections associated with items in the library.
<hr style="margin: 0px;">
**`type` Value:** `tmdb_collection`
**`data` Value:** Not Used
**Valid Library Types:** Movies
**Key Values:** TMDb Collection ID
**Key Name Value:** TMDb Collection Title
**Default `title_format`:** `<<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
tmdb_collection_details: <<value>>
minimum_items: 2
```
???+ example "Example"
```yaml
dynamic_collections:
TMDb Collections: # This name is the mapping name
type: tmdb_collection
remove_suffix: Collection
remove_prefix: The
```
??? blank "tmdb_popular_people
- Collections based on actors found on TMDb's Popular People List.¶"
<div id="tmdb-popular-people" />Creates collections based on each actor found on
[TMDb's Popular People List](https://www.themoviedb.org/person).
<hr style="margin: 0px;">
**`type` Value:** `tmdb_popular_people`
**`data` Value:** Number greater than 0
**Valid Library Types:** Movies and Shows
**Key Values:** TMDb Person ID
**Key Name Value:** TMDb Person Name
**Default `title_format`:** `<<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
tmdb_person: <<value>>
plex_search:
all:
actor: tmdb
```
???+ example "Example"
Creates a collection for the top 10 popular people according to TMDb.
```yaml
dynamic_collections:
TMDb Popular People: # This name is the mapping name
type: tmdb_popular_people
data: 10
```
??? blank "original_language
- Collections based on TMDb original languages.¶"
<div id="original-language" />Creates collections based on the TMDb original language associated with items in the
library.
<hr style="margin: 0px;">
**`type` Value:** `original_language`
**`data` Value:** Not Used
**Valid Library Types:** Movies and Shows
**Key Values:** [ISO 639-1 Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
**Key Name Value:** ISO Language Name
**Default `title_format`:** `<<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
plex_all: true
filters:
original_language: <<value>>
```
???+ example "Example"
```yaml
dynamic_collections:
TMDb Languages: # This name is the mapping name
type: original_language
```
??? blank "origin_country
- Collections based on TMDb origin countries.¶"
<div id="origin-country" />Creates collections based on the TMDb origin country associated with items in the
library.
<hr style="margin: 0px;">
**`type` Value:** `origin_country`
**`data` Value:** Not Used
**Valid Library Types:** Shows
**Key Values:** [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
**Key Name Value:** ISO Country Name
**Default `title_format`:** `<<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
plex_all: true
filters:
origin_country: <<value>>
```
???+ example "Example"
```yaml
dynamic_collections:
TMDb Countries: # This name is the mapping name
type: origin_country
```
??? blank "imdb_awards
- Collections based on IMDb Events by Year.¶"
<div id="imdb-awards" />Creates collections for each of the Year's found on the IMDb event page.
<hr style="margin: 0px;">
**`type` Value:** `imdb_awards`
**`data` Value:** [Dictionary](../pmm/yaml.md#dictionaries) of Attributes
??? blank "`event_id` - Determines the [IMDb Event](https://www.imdb.com/event/) used.<a class="headerlink" href="#imdb-awards-event-id" title="Permanent link">¶</a>"
<div id="imdb-awards-event-id" />This determines which [IMDb Event](https://www.imdb.com/event/) is used.
**Allowed Values:** The ID found in the URLs linked on the [IMDb Events Page](https://www.imdb.com/event/).
(ex. `ev0000003`)
??? blank "`starting` - Determines the starting year of the event to use.<a class="headerlink" href="#imdb-awards-starting" title="Permanent link">¶</a>"
<div id="imdb-awards-starting" />This determines the starting year of the event to use to create collections.
**Allowed Values:** Number greater than 0, `first`, `latest`, relative first (`first+#`; where `#` is the number
of events past the first event), or relative latest (`latest-#`; where `#` is the number of events back from the
latest)
**Default:** `first`
??? blank "`ending` - Determines the ending year of the event to use.<a class="headerlink" href="#imdb-awards-ending" title="Permanent link">¶</a>"
<div id="imdb-awards-ending" />This determines the ending year of the event to use to create collections.
**Allowed Values:** Number greater than 0, `first`, `latest`, relative first (`first+#`; where `#` is the number
of events past the first event), or relative latest (`latest-#`; where `#` is the number of events back from the
latest)
**Default:** `latest`
**Valid Library Types:** Movies and Shows
**Key Values:** Award Year (sometimes this will look like `2003-2` if there are more then one award show that year)
**Key Name Value:** Award Year (sometimes this will look like `2003-2` if there are more then one award show that
year)
**Default `title_format`:** `<<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
imdb_award:
event_id: <<event_id>>
event_year: <<value>>
winning: true
```
???+ example "Example"
```yaml
dynamic_collections:
Oscar Awards Lists: # This name is the mapping name
type: imdb_awards
data:
event_id: ev0000003
starting: current-15
ending: current
```
??? blank "trakt_user_lists
- Collections based on Trakt Lists by users.¶"
<div id="trakt-user-lists" />Creates collections for each of the Trakt lists for the specified users. Use `me` to
reference the authenticated user.
???+ warning
Requires [Trakt Authentication](../config/trakt.md) to be configured within the Configuration File.
<hr style="margin: 0px;">
**`type` Value:** `trakt_user_lists`
**`data` Value:** List of Trakt Users (Use `me` to reference the authenticated user)
**Valid Library Types:** Movies and Shows
**Key Values:** Trakt List URL
**Key Name Value:** Trakt List Title
**Default `title_format`:** `<<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
trakt_list_details: <<value>>
```
???+ example "Example"
```yaml
dynamic_collections:
Trakt User Lists: # This name is the mapping name
type: trakt_user_lists
data:
- me
- yozoraxcii
```
??? blank "trakt_liked_lists
- Collections based on liked Trakt Lists.¶"
<div id="trakt-liked-lists" />Creates collections for each of the Trakt lists that the authenticated user has liked.
???+ warning
Requires [Trakt Authentication](../config/trakt.md) to be configured within the Configuration File.
<hr style="margin: 0px;">
**`type` Value:** `trakt_liked_lists`
**`data` Value:** Not Used
**Valid Library Types:** Movies and Shows
**Key Values:** Trakt List URL
**Key Name Value:** Trakt List Title
**Default `title_format`:** `<<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
trakt_list_details: <<value>>
```
???+ example "Example"
```yaml
dynamic_collections:
Trakt Liked Lists: # This name is the mapping name
type: trakt_liked_lists
```
??? blank "trakt_people_list
- Collections based on people on Trakt Lists.¶"
<div id="trakt-people-list" />Creates collections for each of the people found within Trakt lists that the user
specifies.
???+ warning
Requires [Trakt Authentication](../config/trakt.md) to be configured within the Configuration File.
<hr style="margin: 0px;">
**`type` Value:** `trakt_people_list`
**`data` Value:** List of Trakt URLs
**Valid Library Types:** Movies and Shows
**Key Values:** TMDb Person ID
**Key Name Value:** TMDb Person Name
**Default `title_format`:** `<<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
tmdb_person: <<value>>
plex_search:
all:
actor: tmdb
```
???+ example "Example"
```yaml
dynamic_collections:
Trakt People Lists:
type: trakt_people_list
data:
- https://trakt.tv/users/ash9001/lists/all-time-top-actors
```
??? blank "actor
- Collections based on actor credits.¶"
<div id="actor" />Creates collections for each actor found in the library based on given criteria.
<hr style="margin: 0px;">
**`type` Value:** `actor`
**`data` Value:** [Dictionary](../pmm/yaml.md#dictionaries) of Attributes
??? blank "`depth` - Determines how many "top" acting credits per item.<a class="headerlink" href="#actor-depth" title="Permanent link">¶</a>"
<div id="actor-depth" />This determines how many "top" acting credits there are for each item. Acting credits
are parsed in top billing order.
**Allowed Values:** Number greater than 0
**Default:** `3`
??? blank "`minimum` - Determines the minimum number of "top" acting credits.<a class="headerlink" href="#actor-minimum" title="Permanent link">¶</a>"
<div id="actor-minimum" />Determines the minimum number of "top" acting credits. For a collection for this actor
to be created they must meet the minimum number of "top" acting credits.
???+ warning
The number of "top" acting credits per item is determined by the `depth` value.
**Allowed Values:** Number greater than 0
**Default:** `3`
??? blank "`limit` - Determines the maximum number of actor collections to create.<a class="headerlink" href="#actor-limit" title="Permanent link">¶</a>"
<div id="actor-limit" />Determines the maximum number of actor collections to create.
**Allowed Values:** Number greater than 0
**Default:** None
**Valid Library Types:** Movies and Shows
**Key Values:** Person Name
**Key Name Value:** Person Name
**Default `title_format`:** `<<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
plex_search:
any:
actor: <<value>>
```
???+ example "Examples"
This example creates a collection for each of the top 25 actors who appear in the "top" 5 acting credits of an
item in the library.
```yaml
dynamic_collections:
Top Actors: # mapping name does not matter just needs to be unique
type: actor
data:
depth: 5
limit: 25
```
This example creates a collection for each of the actors who appear in the "top" 5 acting credits of an item in
the library for at least 20 items.
```yaml
dynamic_collections:
Actors: # mapping name does not matter just needs to be unique
type: actor
data:
depth: 5
minimum: 20
```
??? blank "director
- Collections based on directors.¶"
<div id="director" />Creates collections for each director found in the library based on given criteria.
<hr style="margin: 0px;">
**`type` Value:** `director`
**`data` Value:** [Dictionary](../pmm/yaml.md#dictionaries) of Attributes
??? blank "`depth` - Determines how many "top" directing credits per item.<a class="headerlink" href="#director-depth" title="Permanent link">¶</a>"
<div id="director-depth" />This determines how many "top" directing credits there are for each item. Directing
credits are parsed in top billing order.
**Allowed Values:** Number greater than 0
**Default:** `3`
??? blank "`minimum` - Determines the minimum number of "top" directing credits.<a class="headerlink" href="#director-minimum" title="Permanent link">¶</a>"
<div id="director-minimum" />Determines the minimum number of "top" directing credits. For a collection for this
director to be created they must meet the minimum number of "top" directing credits.
???+ warning
The number of "top" directing credits per item is determined by the `depth` value.
**Allowed Values:** Number greater than 0
**Default:** `3`
??? blank "`limit` - Determines the maximum number of director collections to create.<a class="headerlink" href="#director-limit" title="Permanent link">¶</a>"
<div id="director-limit" />Determines the maximum number of director collections to create.
**Allowed Values:** Number greater than 0
**Default:** None
**Valid Library Types:** Movies
**Key Values:** Person Name
**Key Name Value:** Person Name
**Default `title_format`:** `<<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
plex_search:
any:
director: <<value>>
```
???+ example "Examples"
This example creates a collection for the each of the top 5 directors who appear as the "top" directing credits
of movies.
```yaml
dynamic_collections:
Top Directors: # mapping name does not matter just needs to be unique
type: director
data:
depth: 1
limit: 5
```
This example creates a collection for the each of the directors who appear as the "top" directing credits of
movies the library for at least 10 movies.
```yaml
dynamic_collections:
Directors: # mapping name does not matter just needs to be unique
type: director
data:
depth: 1
minimum: 10
```
??? blank "writer
- Collections based on writers.¶"
<div id="director" />Creates collections for each writer found in the library based on given criteria.
<hr style="margin: 0px;">
**`type` Value:** `writer`
**`data` Value:** [Dictionary](../pmm/yaml.md#dictionaries) of Attributes
??? blank "`depth` - Determines how many "top" writing credits per item.<a class="headerlink" href="#writer-depth" title="Permanent link">¶</a>"
<div id="writer-depth" />This determines how many "top" writing credits there are for each item. Writing credits
are parsed in top billing order.
**Allowed Values:** Number greater than 0
**Default:** `3`
??? blank "`minimum` - Determines the minimum number of "top" writing credits.<a class="headerlink" href="#writer-minimum" title="Permanent link">¶</a>"
<div id="writer-minimum" />Determines the minimum number of "top" writing credits. For a collection for this
writer to be created they must meet the minimum number of "top" writing credits.
???+ warning
The number of "top" writing credits per item is determined by the `depth` value.
**Allowed Values:** Number greater than 0
**Default:** `3`
??? blank "`limit` - Determines the maximum number of writer collections to create.<a class="headerlink" href="#writer-limit" title="Permanent link">¶</a>"
<div id="writer-limit" />Determines the maximum number of writer collections to create.
**Allowed Values:** Number greater than 0
**Default:** None
**Valid Library Types:** Movies
**Key Values:** Person Name
**Key Name Value:** Person Name
**Default `title_format`:** `<<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
plex_search:
any:
writer: <<value>>
```
???+ example "Examples"
This example creates a collection for the each of the top 5 writers who appear as the "top" writing credits of
movies.
```yaml
dynamic_collections:
Top Writers: # mapping name does not matter just needs to be unique
type: writer
data:
depth: 1
limit: 5
```
This example creates a collection for the each of the writers who appear as the "top" writing credits of movies
the library for at least 10 movies.
```yaml
dynamic_collections:
Writers: # mapping name does not matter just needs to be unique
type: writer
data:
depth: 1
minimum: 10
```
??? blank "producer
- Collections based on producers.¶"
<div id="director" />Creates collections for each producer found in the library based on given criteria.
<hr style="margin: 0px;">
**`type` Value:** `producer`
**`data` Value:** [Dictionary](../pmm/yaml.md#dictionaries) of Attributes
??? blank "`depth` - Determines how many "top" producing credits per item.<a class="headerlink" href="#producer-depth" title="Permanent link">¶</a>"
<div id="producer-depth" />This determines how many "top" producing credits there are for each item. Producing
credits are parsed in top billing order.
**Allowed Values:** Number greater than 0
**Default:** `3`
??? blank "`minimum` - Determines the minimum number of "top" producing credits.<a class="headerlink" href="#producer-minimum" title="Permanent link">¶</a>"
<div id="producer-minimum" />Determines the minimum number of "top" producing credits. For a collection for this
producer to be created they must meet the minimum number of "top" producing credits.
???+ warning
The number of "top" producing credits per item is determined by the `depth` value.
**Allowed Values:** Number greater than 0
**Default:** `3`
??? blank "`limit` - Determines the maximum number of producer collections to create.<a class="headerlink" href="#producer-limit" title="Permanent link">¶</a>"
<div id="producer-limit" />Determines the maximum number of producer collections to create.
**Allowed Values:** Number greater than 0
**Default:** None
**Valid Library Types:** Movies
**Key Values:** Person Name
**Key Name Value:** Person Name
**Default `title_format`:** `<<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
plex_search:
any:
producer: <<value>>
```
???+ example "Examples"
This example creates a collection for the each of the top 5 producers who appear as the "top" producing credits
of movies.
```yaml
dynamic_collections:
Top Producers: # mapping name does not matter just needs to be unique
type: producer
data:
depth: 1
limit: 5
```
This example creates a collection for the each of the producers who appear as the "top" producing credits of
movies the library for at least 10 movies.
```yaml
Producers: # mapping name does not matter just needs to be unique
type: producers
data:
depth: 1
minimum: 10
```
??? blank "genre
- Collections based on genres.¶"
<div id="genre" />Creates collections for each genre found in the library.
<hr style="margin: 0px;">
**`type` Value:** `genre`
**`data` Value:** Not Used
**Valid Library Types:** Movies, Shows, Music, and Video
**Key Values:** Genre
**Key Name Value:** Genre
**Default `title_format`:** `Top <<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.desc
any:
genre: <<value>>
```
???+ example "Example"
This example creates collections based on each genre found in the library.
```yaml
dynamic_collections:
Genres: # mapping name does not matter just needs to be unique
type: genre
```
??? blank "album_genre
- Collections based on album genres.¶"
<div id="album-genre" />Creates album collections for each genre associated with albums found in the music library.
<hr style="margin: 0px;">
**`type` Value:** `genre`
**`data` Value:** Not Used
**Valid Library Types:** Music
**Key Values:** Genre
**Key Name Value:** Genre
**Default `title_format`:** `Top <<key_name>> Albums`
??? tip "Default Template (click to expand)"
```yaml
default_template:
builder_level: album
smart_filter:
limit: 50
sort_by: plays.desc
any:
album_genre: <<value>>
```
???+ example "Example"
This example creates album collections for each genre associated with albums found in the music library.
```yaml
dynamic_collections:
Genres: # mapping name does not matter just needs to be unique
type: album_genre
```
??? blank "content_rating
- Collections based on content ratings.¶"
<div id="content-rating" />Creates collections for each content rating found in the library.
<hr style="margin: 0px;">
**`type` Value:** `content_rating`
**`data` Value:** Not Used
**Valid Library Types:** Movies, Shows, and Video
**Key Values:** Content Rating
**Key Name Value:** Content Rating
**Default `title_format`:** `Top <<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.desc
any:
content_rating: <<value>>
```
???+ example "Example"
This example creates collections based on each genre found in the library.
```yaml
dynamic_collections:
Content Ratings: # mapping name does not matter just needs to be unique
type: content_rating
```
??? blank "year
- Collections based on content ratings.¶"
<div id="year" />Creates collections for each year found in the library.
<hr style="margin: 0px;">
**`type` Value:** `year`
**`data` Value:** Not Used
**Valid Library Types:** Movies and Shows
**Key Values:** Year
**Key Name Value:** Year
**Default `title_format`:** `Best <<library_type>>s of <<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.desc
any:
year: <<value>>
```
???+ example "Example"
This example creates collections based on each year found in the library.
```yaml
dynamic_collections:
Years: # mapping name does not matter just needs to be unique
type: year
```
??? blank "episode_year
- Collections based on content ratings.¶"
<div id="episode-year" />Creates collections for each year associated with episodes found in the library.
<hr style="margin: 0px;">
**`type` Value:** `episode_year`
**`data` Value:** Not Used
**Valid Library Types:** Shows
**Key Values:** Year
**Key Name Value:** Year
**Default `title_format`:** `Best Episodes of <<key_name>>`
??? tip "Default Template (click to expand)"
```yaml
default_template:
builder_level: episode
smart_filter:
limit: 50
sort_by: critic_rating.desc
any:
year: <<value>>
```
???+ example "Example"
This example creates collections based on each year found in the library.
```yaml
dynamic_collections:
Years: # mapping name does not matter just needs to be unique
type: year
```
??? blank "decade
- Collections based on decades.¶"
<div id="decade" />Creates collections for each decade found in the library.
<hr style="margin: 0px;">
**`type` Value:** `decade`
**`data` Value:** Not Used
**Valid Library Types:** Movies and Shows
**Key Values:** Decade
**Key Name Value:** Decade with an `s` at the end
**Default `title_format`:** `Best <<library_type>> of the <<key_name>>`
??? tip "Default Templates (click to expand)"
=== "Movie Default"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.desc
any:
decade: <<value>>
```
=== "Show Default"
Shows don't inherently have a decade attribute so pmm just passes all years from the decade as a list.
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.desc
any:
year: <<value>>
```
???+ example "Example"
This example creates collections based on each decade found in the library.
```yaml
dynamic_collections:
Decades: # mapping name does not matter just needs to be unique
type: decade
```
??? blank "country
- Collections based on countries.¶"
<div id="country" />Creates collections for each country found in the library.
<hr style="margin: 0px;">
**`type` Value:** `country`
**`data` Value:** Not Used
**Valid Library Types:** Movies, Music, Video
**Key Values:** Country
**Key Name Value:** Country
**Default `title_format`:** `Top <<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.desc
any:
country: <<value>>
```
???+ example "Example"
This example creates collections based on each country found in the library.
```yaml
dynamic_collections:
Countries: # mapping name does not matter just needs to be unique
type: country
```
??? blank "resolution
- Collections based on resolutions.¶"
<div id="resolution" />Creates collections for each resolution found in the library.
<hr style="margin: 0px;">
**`type` Value:** `resolution`
**`data` Value:** Not Used
**Valid Library Types:** Movies and Shows
**Key Values:** Resolution
**Key Name Value:** Resolution
**Default `title_format`:** `<<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: title.asc
any:
resolution: <<value>>
```
???+ example "Example"
This example creates collections based on each resolution found in the library.
```yaml
dynamic_collections:
Resolutions: # mapping name does not matter just needs to be unique
type: resolution
```
??? blank "subtitle_language
- Collections based on subtitle languages.¶"
<div id="subtitle-language" />Creates collections for each subtitle language found in the library.
<hr style="margin: 0px;">
**`type` Value:** `subtitle_language`
**`data` Value:** Not Used
**Valid Library Types:** Movies and Shows
**Key Values:** [ISO 639-1 Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
**Key Name Value:** ISO Language Name
**Default `title_format`:** `Top <<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.asc
any:
subtitle_language: <<value>>
```
???+ example "Example"
This example creates collections based on each subtitle language found in the library.
```yaml
dynamic_collections:
Subtitle Languages: # mapping name does not matter just needs to be unique
type: subtitle_language
```
??? blank "audio_language
- Collections based on audio languages.¶"
<div id="audio-language" />Creates collections for each audio language found in the library.
<hr style="margin: 0px;">
**`type` Value:** `audio_language`
**`data` Value:** Not Used
**Valid Library Types:** Movies and Shows
**Key Values:** [ISO 639-1 Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
**Key Name Value:** ISO Language Name
**Default `title_format`:** `Top <<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.asc
any:
audio_language: <<value>>
```
???+ example "Example"
This example creates collections based on each audio language found in the library.
```yaml
dynamic_collections:
Audio Languages: # mapping name does not matter just needs to be unique
type: audio_language
```
??? blank "studio
- Collections based on studios.¶"
<div id="studio" />Creates collections for each studio found in the library.
<hr style="margin: 0px;">
**`type` Value:** `studio`
**`data` Value:** Not Used
**Valid Library Types:** Movies and Shows
**Key Values:** Studio
**Key Name Value:** Studio
**Default `title_format`:** `Top <<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.asc
any:
studio: <<value>>
```
???+ example "Example"
This example creates collections based on each studio found in the library.
```yaml
dynamic_collections:
Studios: # mapping name does not matter just needs to be unique
type: studio
```
??? blank "edition
- Collections based on editions.¶"
<div id="edition" />Creates collections for each edition found in the library.
<hr style="margin: 0px;">
**`type` Value:** `edition`
**`data` Value:** Not Used
**Valid Library Types:** Movies
**Key Values:** Edition
**Key Name Value:** Edition
**Default `title_format`:** `Top <<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.asc
any:
edition: <<value>>
```
???+ example "Example"
This example creates collections based on each edition found in the library.
```yaml
dynamic_collections:
Editions: # mapping name does not matter just needs to be unique
type: edition
```
??? blank "network
- Collections based on networks.¶"
<div id="network" />Creates collections for each network found in the library.
<hr style="margin: 0px;">
**`type` Value:** `network`
**`data` Value:** Not Used
**Valid Library Types:** Shows
**Key Values:** Network
**Key Name Value:** Network
**Default `title_format`:** `Top <<key_name>> <<library_type>>s`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 50
sort_by: critic_rating.asc
any:
network: <<value>>
```
???+ example "Example"
This example creates collections based on each network found in the library.
```yaml
dynamic_collections:
Networks: # mapping name does not matter just needs to be unique
type: network
```
??? blank "mood
- Collections based on artist moods.¶"
<div id="mood" />Creates collections for each mood associated with an artist found in the library.
<hr style="margin: 0px;">
**`type` Value:** `mood`
**`data` Value:** Not Used
**Valid Library Types:** Music
**Key Values:** Mood
**Key Name Value:** Mood
**Default `title_format`:** `Most Played <<key_name>> Artists`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 10
sort_by: plays.desc
any:
artist_mood: <<value>>
```
???+ example "Example"
This example creates collections based on each artist mood found in the library.
```yaml
dynamic_collections:
Moods: # mapping name does not matter just needs to be unique
type: mood
```
??? blank "album_mood
- Collections based on album moods.¶"
<div id="album-mood" />Creates collections for each mood associated with an album found in the library.
<hr style="margin: 0px;">
**`type` Value:** `album_mood`
**`data` Value:** Not Used
**Valid Library Types:** Music
**Key Values:** Mood
**Key Name Value:** Mood
**Default `title_format`:** `Most Played <<key_name>> Albums`
??? tip "Default Template (click to expand)"
```yaml
default_template:
builder_level: album
smart_filter:
limit: 10
sort_by: plays.desc
any:
album_mood: <<value>>
```
???+ example "Example"
This example creates collections based on each album mood found in the library.
```yaml
dynamic_collections:
Moods: # mapping name does not matter just needs to be unique
type: album_mood
```
??? blank "track_mood
- Collections based on track moods.¶"
<div id="track-mood" />Creates collections for each mood associated with a track found in the library.
<hr style="margin: 0px;">
**`type` Value:** `track_mood`
**`data` Value:** Not Used
**Valid Library Types:** Music
**Key Values:** Mood
**Key Name Value:** Mood
**Default `title_format`:** `Most Played <<key_name>> Tracks`
??? tip "Default Template (click to expand)"
```yaml
default_template:
builder_level: track
smart_filter:
limit: 50
sort_by: plays.desc
any:
track_mood: <<value>>
```
???+ example "Example"
This example creates collections based on each track mood found in the library.
```yaml
dynamic_collections:
Moods: # mapping name does not matter just needs to be unique
type: track_mood
```
??? blank "style
- Collections based on artist styles.¶"
<div id="style" />Creates collections for each style associated with an artist found in the library.
<hr style="margin: 0px;">
**`type` Value:** `style`
**`data` Value:** Not Used
**Valid Library Types:** Music
**Key Values:** Style
**Key Name Value:** Style
**Default `title_format`:** `Most Played <<key_name>> Artists`
??? tip "Default Template (click to expand)"
```yaml
default_template:
smart_filter:
limit: 10
sort_by: plays.desc
any:
artist_style: <<value>>
```
???+ example "Example"
This example creates collections based on each artist style found in the library.
```yaml
dynamic_collections:
Styles: # mapping name does not matter just needs to be unique
type: style
```
??? blank "album_style
- Collections based on album styles.¶"
<div id="album-style" />Creates collections for each style associated with an album found in the library.
<hr style="margin: 0px;">
**`type` Value:** `album_style`
**`data` Value:** Not Used
**Valid Library Types:** Music
**Key Values:** Style
**Key Name Value:** Style
**Default `title_format`:** `Most Played <<key_name>> Artists`
??? tip "Default Template (click to expand)"
```yaml
default_template:
builder_level: album
smart_filter:
limit: 10
sort_by: plays.desc
any:
album_style: <<value>>
```
???+ example "Example"
This example creates collections based on each album style found in the library.
```yaml
dynamic_collections:
Styles: # mapping name does not matter just needs to be unique
type: album_style
```
??? blank "number
- Collections based on defined numbers.¶"
<div id="number" />Creates collections for each number based on given criteria.
<hr style="margin: 0px;">
**`type` Value:** `number`
**`data` Value:** [Dictionary](../pmm/yaml.md#dictionaries) of Attributes
??? blank "`starting` - Determines the starting number.<a class="headerlink" href="#number-starting" title="Permanent link">¶</a>"
<div id="number-starting" />This determines the starting number of collections to create.
**Allowed Values:** Number greater than 0, `current_year`, or relative year `current_year-#` (`#` is the number
of years back from the current year)
**Default:** `0`
??? blank "`ending` - Determines the ending number.<a class="headerlink" href="#number-ending" title="Permanent link">¶</a>"
<div id="number-ending" />This determines the ending number of collections to create.
**Allowed Values:** Number greater than 1, `current_year`, or relative year `current_year-#` (`#` is the number
of years back from the current year)
**Default:** `1`
??? blank "`increment` - Determines amount incremented.<a class="headerlink" href="#number-increment" title="Permanent link">¶</a>"
<div id="number-increment" />Determines the amount incremented from one collection to the other.
**Allowed Values:** Number greater than 0
**Default:** `1`
**Valid Library Types:** Movies, Shows, Music, and Video
**Key Values:** Number
**Key Name Value:** Number
**Default `title_format`:** `<<key_name>>`
???+ warning
There's no default template for this type one has to be specified.
???+ example "Example"
This example create a collection for the Oscar Winner by Year for the last 5 years and names the collection
"Oscars Winners [Number]".
```yaml
templates:
Oscars:
summary: Academy Awards (Oscars) Winners for <<key>>
imdb_search:
release.after: <<key>>-01-01
release.before: <<key>>-12-31
event.winning: oscar_picture, oscar_director
sort_by: popularity.asc
sync_mode: sync
collection_order: custom
dynamic_collections:
Oscars Winners Awards:
type: number
sync: true
data:
starting: current_year-5
ending: current_year
title_format: Oscars Winners <<key_name>>
template:
- Oscars
```
??? blank "custom
- Collections based on given values.¶"
<div id="custom" />Creates collections for each custom `dynamic key: key_name` pair defined.
<hr style="margin: 0px;">
**`type` Value:** `custom`
**`data` Value:** [Dictionary](../pmm/yaml.md#dictionaries) with the keys being the `dynamic key` and the values
being the `key name`
**Valid Library Types:** Movies, Shows, Music, and Video
**Key Values:** `dynamic key`
**Key Name Value:** `key_name`
**Default `title_format`:** `<<key_name>>`
???+ warning
There's no default template for this type one has to be specified.
???+ example "Example"
This example creates a collection for the various Streaming Services and names them "[Key Name] Movies".
```yaml
templates:
streaming:
cache_builders: 1
smart_label: release.desc
sync_mode: sync
mdblist_list: https://mdblist.com/lists/plexmetamanager/<<key>>-movies
url_poster: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager-Images/master/streaming/<<key_name_encoded>>.jpg
dynamic_collections:
Streaming:
type: custom
data:
all-4: All 4
appletv: Apple TV+
bet: BET+
britbox: BritBox
disney: Disney+
max: Max
hulu: Hulu
netflix: Netflix
now: NOW
paramount: Paramount+
peacock: Peacock
amazon-prime-video: Prime Video
title_format: <<key_name>> Movies
template:
- streaming
- shared
```
{% include-markdown "./dynamic_examples.md" %}