Skip to content

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.

tmdb_collection - Collections based on TMDb Collections.

Creates collections based on the TMDb Collections associated with items in the library.


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

Default Template (click to expand)
default_template:
  tmdb_collection_details: <<value>>
  minimum_items: 2
Example
dynamic_collections:
  TMDb Collections:          # This name is the mapping name
    type: tmdb_collection
    remove_suffix: Collection
    remove_prefix: The
tmdb_popular_people - Collections based on actors found on TMDb's Popular People List.

original_language - Collections based on TMDb original languages.

Creates collections based on the TMDb original language associated with items in the library.


type Value: original_language

data Value: Not Used

Valid Library Types: Movies and Shows

Key Values: ISO 639-1 Code

Key Name Value: ISO Language Name

Default title_format: <<key_name>> <<library_type>>s

Default Template (click to expand)
default_template:
  plex_all: true
  filters:
    original_language: <<value>>
Example
dynamic_collections:
  TMDb Languages:          # This name is the mapping name
    type: original_language
origin_country - Collections based on TMDb origin countries.

Creates collections based on the TMDb origin country associated with items in the library.


type Value: origin_country

data Value: Not Used

Valid Library Types: Shows

Key Values: ISO 3166-1 alpha-2 country code

Key Name Value: ISO Country Name

Default title_format: <<key_name>> <<library_type>>s

Default Template (click to expand)
default_template:
  plex_all: true
  filters:
    origin_country: <<value>>
Example
dynamic_collections:
  TMDb Countries:          # This name is the mapping name
    type: origin_country
imdb_awards - Collections based on IMDb Events by Year.

Creates collections for each of the Year's found on the IMDb event page.


type Value: imdb_awards

data Value: Dictionary of Attributes

event_id - Determines the IMDb Event used.

This determines which IMDb Event is used.

Allowed Values: The ID found in the URLs linked on the IMDb Events Page. (ex. ev0000003)

starting - Determines the starting year of the event to use.

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

ending - Determines the ending year of the event to use.

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 than one award show that year)

Key Name Value: Award Year (sometimes this will look like 2003-2 if there are more than one award show that year)

Default title_format: <<key_name>>

Default Template (click to expand)
default_template:
  imdb_award: 
    event_id: <<event_id>>
    event_year: <<value>>
    winning: true
Example
dynamic_collections:
  Oscar Awards Lists:          # This name is the mapping name
    type: imdb_awards
    data:
      event_id: ev0000003
      starting: latest-15
      ending: latest
trakt_user_lists - Collections based on Trakt Lists by users.

Creates collections for each of the Trakt lists for the specified users. Use me to reference the authenticated user.

Warning

Requires Trakt Authentication to be configured within the Configuration File.


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

Default Template (click to expand)
default_template:
  trakt_list_details: <<value>>
Example
dynamic_collections:
  Trakt User Lists:          # This name is the mapping name
    type: trakt_user_lists
    data:
     - me
     - yozoraxcii
trakt_liked_lists - Collections based on liked Trakt Lists.

Creates collections for each of the Trakt lists that the authenticated user has liked.

Warning

Requires Trakt Authentication to be configured within the Configuration File.


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

Default Template (click to expand)
default_template:
  trakt_list_details: <<value>>
Example
dynamic_collections:
  Trakt Liked Lists:          # This name is the mapping name
    type: trakt_liked_lists
trakt_people_list - Collections based on people on Trakt Lists.

Creates collections for each of the people found within Trakt lists that the user specifies.

Warning

Requires Trakt Authentication to be configured within the Configuration File.


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

Default Template (click to expand)
default_template:
  tmdb_person: <<value>>
  plex_search:
    all:
      actor: tmdb
Example
dynamic_collections:
  Trakt People Lists:
    type: trakt_people_list
    data:
     - https://trakt.tv/users/ash9001/lists/all-time-top-actors
actor - Collections based on actor credits.

Creates collections for each actor found in the library based on given criteria.


type Value: actor

data Value: Dictionary of Attributes

depth - Determines how many "top" acting credits per item.

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

minimum - Determines the minimum number of "top" acting credits.

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

limit - Determines the maximum number of actor collections to create.

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

Default Template (click to expand)
default_template:
  plex_search:
    any:
      actor: <<value>>
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.

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.

dynamic_collections:
  Actors:         # mapping name does not matter just needs to be unique
    type: actor
    data:
      depth: 5
      minimum: 20
director - Collections based on directors.

Creates collections for each director found in the library based on given criteria.


type Value: director

data Value: Dictionary of Attributes

depth - Determines how many "top" directing credits per item.

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

minimum - Determines the minimum number of "top" directing credits.

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

limit - Determines the maximum number of director collections to create.

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

Default Template (click to expand)
default_template:
  plex_search:
    any:
      director: <<value>>
Examples

This example creates a collection for the each of the top 5 directors who appear as the "top" directing credits of movies.

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.

dynamic_collections:
  Directors:         # mapping name does not matter just needs to be unique
    type: director
    data:
      depth: 1
      minimum: 10
writer - Collections based on writers.

Creates collections for each writer found in the library based on given criteria.


type Value: writer

data Value: Dictionary of Attributes

depth - Determines how many "top" writing credits per item.

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

minimum - Determines the minimum number of "top" writing credits.

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

limit - Determines the maximum number of writer collections to create.

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

Default Template (click to expand)
default_template:
  plex_search:
    any:
      writer: <<value>>
Examples

This example creates a collection for the each of the top 5 writers who appear as the "top" writing credits of movies.

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.

dynamic_collections:
  Writers:         # mapping name does not matter just needs to be unique
    type: writer
    data:
      depth: 1
      minimum: 10
producer - Collections based on producers.

Creates collections for each producer found in the library based on given criteria.


type Value: producer

data Value: Dictionary of Attributes

depth - Determines how many "top" producing credits per item.

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

minimum - Determines the minimum number of "top" producing credits.

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

limit - Determines the maximum number of producer collections to create.

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

Default Template (click to expand)
default_template:
  plex_search:
    any:
      producer: <<value>>
Examples

This example creates a collection for the each of the top 5 producers who appear as the "top" producing credits of movies.

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.

  Producers:         # mapping name does not matter just needs to be unique
    type: producers
    data:
      depth: 1
      minimum: 10
genre - Collections based on genres.

Creates collections for each genre found in the library.


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

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.desc
    any:
      genre: <<value>>
Example

This example creates collections based on each genre found in the library.

dynamic_collections:
  Genres:         # mapping name does not matter just needs to be unique
    type: genre
album_genre - Collections based on album genres.

Creates album collections for each genre associated with albums found in the music library.


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

Default Template (click to expand)
default_template:
  builder_level: album
  smart_filter:
    limit: 50
    sort_by: plays.desc
    any:
      album_genre: <<value>>
Example

This example creates album collections for each genre associated with albums found in the music library.

dynamic_collections:
  Genres:         # mapping name does not matter just needs to be unique
    type: album_genre
content_rating - Collections based on content ratings.

Creates collections for each content rating found in the library.


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

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.desc
    any:
      content_rating: <<value>>
Example

This example creates collections based on each genre found in the library.

dynamic_collections:
  Content Ratings:         # mapping name does not matter just needs to be unique
    type: content_rating
year - Collections based on content ratings.

Creates collections for each year found in the library.


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

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.desc
    any:
      year: <<value>>
Example

This example creates collections based on each year found in the library.

dynamic_collections:
  Years:         # mapping name does not matter just needs to be unique
    type: year
episode_year - Collections based on content ratings.

Creates collections for each year associated with episodes found in the library.


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

Default Template (click to expand)
default_template:
  builder_level: episode
  smart_filter:
    limit: 50
    sort_by: critic_rating.desc
    any:
      year: <<value>>
Example

This example creates collections based on each year found in the library.

dynamic_collections:
  Years:         # mapping name does not matter just needs to be unique
    type: year
decade - Collections based on decades.

Creates collections for each decade found in the library.


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

Default Templates (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.desc
    any:
      decade: <<value>>

Shows don't inherently have a decade attribute so pmm just passes all years from the decade as a list.

default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.desc
    any:
      year: <<value>>
Example

This example creates collections based on each decade found in the library.

dynamic_collections:
  Decades:         # mapping name does not matter just needs to be unique
    type: decade
country - Collections based on countries.

Creates collections for each country found in the library.


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

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.desc
    any:
      country: <<value>>
Example

This example creates collections based on each country found in the library.

dynamic_collections:
  Countries:         # mapping name does not matter just needs to be unique
    type: country
resolution - Collections based on resolutions.

Creates collections for each resolution found in the library.


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

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: title.asc
    any:
      resolution: <<value>>
Example

This example creates collections based on each resolution found in the library.

dynamic_collections:
  Resolutions:         # mapping name does not matter just needs to be unique
    type: resolution
subtitle_language - Collections based on subtitle languages.

Creates collections for each subtitle language found in the library.


type Value: subtitle_language

data Value: Not Used

Valid Library Types: Movies and Shows

Key Values: ISO 639-1 Code

Key Name Value: ISO Language Name

Default title_format: Top <<key_name>> <<library_type>>s

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.asc
    any:
      subtitle_language: <<value>>
Example

This example creates collections based on each subtitle language found in the library.

dynamic_collections:
  Subtitle Languages:         # mapping name does not matter just needs to be unique
    type: subtitle_language
audio_language - Collections based on audio languages.

Creates collections for each audio language found in the library.


type Value: audio_language

data Value: Not Used

Valid Library Types: Movies and Shows

Key Values: ISO 639-1 Code

Key Name Value: ISO Language Name

Default title_format: Top <<key_name>> <<library_type>>s

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.asc
    any:
      audio_language: <<value>>
Example

This example creates collections based on each audio language found in the library.

dynamic_collections:
  Audio Languages:         # mapping name does not matter just needs to be unique
    type: audio_language
studio - Collections based on studios.

Creates collections for each studio found in the library.


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

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.asc
    any:
      studio: <<value>>
Example

This example creates collections based on each studio found in the library.

dynamic_collections:
  Studios:         # mapping name does not matter just needs to be unique
    type: studio
edition - Collections based on editions.

Creates collections for each edition found in the library.


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

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.asc
    any:
      edition: <<value>>
Example

This example creates collections based on each edition found in the library.

dynamic_collections:
  Editions:         # mapping name does not matter just needs to be unique
    type: edition
network - Collections based on networks.

Creates collections for each network found in the library.


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

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 50
    sort_by: critic_rating.asc
    any:
      network: <<value>>
Example

This example creates collections based on each network found in the library.

dynamic_collections:
  Networks:         # mapping name does not matter just needs to be unique
    type: network
mood - Collections based on artist moods.

Creates collections for each mood associated with an artist found in the library.


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

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 10
    sort_by: plays.desc
    any:
      artist_mood: <<value>>
Example

This example creates collections based on each artist mood found in the library.

dynamic_collections:
  Moods:         # mapping name does not matter just needs to be unique
    type: mood
album_mood - Collections based on album moods.

Creates collections for each mood associated with an album found in the library.


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

Default Template (click to expand)
default_template:
  builder_level: album
  smart_filter:
    limit: 10
    sort_by: plays.desc
    any:
      album_mood: <<value>>
Example

This example creates collections based on each album mood found in the library.

dynamic_collections:
  Moods:         # mapping name does not matter just needs to be unique
    type: album_mood
track_mood - Collections based on track moods.

Creates collections for each mood associated with a track found in the library.


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

Default Template (click to expand)
default_template:
  builder_level: track
  smart_filter:
    limit: 50
    sort_by: plays.desc
    any:
      track_mood: <<value>>
Example

This example creates collections based on each track mood found in the library.

dynamic_collections:
  Moods:         # mapping name does not matter just needs to be unique
    type: track_mood
style - Collections based on artist styles.

Creates collections for each style associated with an artist found in the library.


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

Default Template (click to expand)
default_template:
  smart_filter:
    limit: 10
    sort_by: plays.desc
    any:
      artist_style: <<value>>
Example

This example creates collections based on each artist style found in the library.

dynamic_collections:
  Styles:         # mapping name does not matter just needs to be unique
    type: style
album_style - Collections based on album styles.

Creates collections for each style associated with an album found in the library.


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

Default Template (click to expand)
default_template:
  builder_level: album
  smart_filter:
    limit: 10
    sort_by: plays.desc
    any:
      album_style: <<value>>
Example

This example creates collections based on each album style found in the library.

dynamic_collections:
  Styles:         # mapping name does not matter just needs to be unique
    type: album_style
number - Collections based on defined numbers.

Creates collections for each number based on given criteria.


type Value: number

data Value: Dictionary of Attributes

starting - Determines the starting number.

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

ending - Determines the ending number.

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

increment - Determines amount incremented.

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

This example create a collection for the Oscar Winner by Year for the last 5 years and names the collection "Oscars Winners [Number]".

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
custom - Collections based on given values.

Creates collections for each custom dynamic key: key_name pair defined.


type Value: custom

data Value: Dictionary 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

This example creates a collection for the various Streaming Services and names them "[Key Name] Movies".

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

Dynamic Collection Examples

Example
templates:
  genre collection: #(4)!
    smart_filter:
      limit: 100
      sort_by: critic_rating.desc
      all:
        genre: <<value>>
dynamic_collections:
  Genres:
    type: genre #(1)!
    exclude: #(2)!
      - Talk Show
    template: genre collection #(3)!
  1. Uses the genre type to create dynamic collections based on each genre found in the library.
  2. Uses exclude to exclude the Talk Show genre.
  3. Uses the template called genre collection for these collections.
  4. This is the same template as the default for genre but the limit has been increased to 100 from 50.

Example:

  • Create dynamic collections based on each genre found in the library (TV and Movies)
  • Amend the template to increase the limit from 50 to 100
  • Exclude the "Talk Show" genre
  • Name the collection "Top [Genre] Movies" or "Top [Genre] Shows"
templates:
  genre collection:
    smart_filter:
      limit: 100
      sort_by: critic_rating.desc
      all:
        genre: <<value>>
dynamic_collections:
  Genres:         # mapping name does not matter just needs to be unique
    type: genre
    exclude:
      - Talk Show
    title_format: Top <<key_name>> <<library_type>>s
    template: genre collection

Example:

  • Create dynamic collections based on each content rating found in the library (TV and Movies)
  • Amend the template to increase the limit from 50 to 100
templates:
  content rating collection:
    smart_filter:
      limit: 100
      sort_by: critic_rating.desc
      all:
        content_rating: <<value>>
dynamic_collections:
  Content Ratings:         # mapping name does not matter just needs to be unique
    type: content_rating
    template: content rating collection

Example

  • Create dynamic collections based on each year found in the library (TV and Movies)
  • Use the include attribute to only show collections for years "2020", "2021" and "2022"
  • Name the collection "Best of [Year]"
dynamic_collections:
  Years:         # mapping name does not matter just needs to be unique
    type: year
    include:
      - 2020
      - 2021
      - 2022
    title_format: Best of <<key_name>>

Example:

  • Create a collection for each decade found in the library (TV and Movies)
  • Name the collection "Top [Decade] Movies"
  • Rename the 2020 collection name to "Top 2020 Movies (so far)"
dynamic_collections:
  Decades:         # mapping name does not matter just needs to be unique
    type: decade
    title_format: Top <<key_name>> <<library_type>>s
    title_override:
      2020: Top 2020 Movies (so far)

Example:

  • Create a collection for the top movies from each country found in the library
  • Name the collection "Top [Country] Cinema"
  • The key_name_override attribute is used here in combination with the title_format to change the collection name from "France" which would be the default title, to "Top French Cinema"
dynamic_collections:
  Countries:         # mapping name does not matter just needs to be unique
    type: country
    title_format: Top <<key_name>> Cinema
    key_name_override:
      France: French
      Germany: German
      India: Indian

Example:

  • Create a collection for each resolution found in the library
  • Name the collection "[Resolution] Movies"
  • Combine 480p, 576p and SD into a collection called "SD Movies"
    dynamic_collections:
      Resolutions:         # mapping name does not matter just needs to be unique
        type: resolution
        addons:
          480p:
            - 576p
            - SD
        title_override:
          480p: SD Movies
    

Example:

  • Create a collection for the top 20 artists for each mood found in the Music library
  • Amend the template to increase the limit from 10 to 20
  • Name the collection "Top 20 [Mood] Artists"
templates:
  mood collection:
    smart_filter:
      limit: 20
      sort_by: plays.desc
      all:
        artist_mood: <<value>>
dynamic_collections:
  Moods:         # mapping name does not matter just needs to be unique
    type: mood
    title_format: Top 20 <<key_name>> Artists
    template: mood collection

Example:

  • Create a collection for the top 20 albums for each mood found in the Music library
  • Amend the template to increase the limit from 10 to 20
  • Name the collection "Top 20 [Mood] Albums"
templates:
  mood collection:
    smart_filter:
      limit: 20
      sort_by: plays.desc
      all:
        album_mood: <<value>>
dynamic_collections:
  Moods:         # mapping name does not matter just needs to be unique
    type: album_mood
    title_format: Top 20 <<key_name>> Albums
    template: mood collection

Example:

  • Create a collection for the top 100 tracks for each mood found in the Music library
  • Amend the template to increase the limit from 50 to 100
  • Name the collection "Top 100 [Mood] Tracks"
templates:
  mood collection:
    smart_filter:
      limit: 100
      sort_by: plays.desc
      all:
        track_mood: <<value>>
dynamic_collections:
  Moods:         # mapping name does not matter just needs to be unique
    type: track_mood
    title_format: Top 100 <<key_name>> Tracks
    template: mood collection

Example:

  • Create a collection for the top 10 artists for each style found in the Music library
  • Name the collection "Top [Style] Artists"
templates:
  style collection:
    smart_filter:
      limit: 10
      sort_by: plays.desc
      all:
        artist_style: <<value>>
dynamic_collections:
  Styles:         # mapping name does not matter just needs to be unique
    type: style
    title_format: Top <<key_name>> <<library_type>>
    template: style collection

Example:

  • Create a collection for the top 10 albums for each style found in the Music library
  • Name the collection "Top [Style] Albums"
templates:
  style collection:
    builder_level: album
    smart_filter:
      limit: 10
      sort_by: plays.desc
      all:
        album_style: <<value>>
dynamic_collections:
  Styles:         # mapping name does not matter just needs to be unique
    type: album_style
    title_format: Top <<key_name>> Albums
    template: style collection