Skip to content

Releases: CollinHeist/TitleCardMaker

v1.8.0

18 Jun 20:48
cc59ba9
Compare
Choose a tag to compare

Major Changes

  • Create new RomanNumeralTitleCard card type based off the Devilman Crybaby style I posted here
    • card_type identifier is roman or roman numeral
    • Utilizes the episode text to create the roman numeral, so episode_text_format should be either {episode_number} (the default) or {abs_number}
      • Technically doesn't go beyond ~3,000, but that seems like a non-issue..
    • Example of the card:
    • Similar to LogoTitleCard, aspects of the card can be customized using extras, like so:
      font:
        color: "#000000"
      extras:
        background: white
        roman_numeral_color: "#4489C2"
    • Also supports blurring, for example:
  • Made separator between season/episode text modifiable in AnimeTitleCard, StandardTitleCard, and LogoTitleCard
    • Use separator extra like so:
      extras:
        separator: "-"
  • Starting rewriting some of the Wiki pages to have collapsible menus (for easier navigation) - finished Getting Started Page

Major Fixes

  • Fix manual season poster creation failing on non-default font size/kernings

Minor Changes

  • Updated multi-part episode title detection
    • Made separator character optional in detecting titles like Title - Part 1
    • Match written numbers for titles like Title Part One
  • Use episode number if absolute number is present in an episode text format string but episode has no absolute number
  • Add seconds option to frequency scheduling (i.e. --frequency 30s)
    • Not useful or intended for main TCM scheduling, eventually useful for #194

Minor Fixes

  • Fix super edge case title modification for titles starting with numbers and entirely numerical episode text formats
  • Fix for templates with nested values being improperly copied

v1.7.4

15 Jun 04:54
f2ca07a
Compare
Choose a tag to compare

Major Changes

  • Improve bug issue template
  • Default to no color (--no-color) in the Docker container
  • Allow for multiple translations per-series
    • Specify as a list of translations, like:
      translation:
      - language: es
        key: spanish
      - language: ja
        key: japanese

Major Fixes

  • Properly get source images from unauthorized/trusted Plex servers
    • Plex-sourced images from servers requiring a Plex X-Token were returning junk source images
  • Fix bad Unraid template value for missing file

Minor Changes

  • Create season posters in archives (was just libraries)
  • Critically error for bad Plex tokens
  • Log source image downloading at DEBUG log level

Minor Fixes

  • Fix for syntax error on custom colors on season posters
  • Cleanly handle runtime permission errors
  • Fix top-heavy title splitting for titles with special characters resulting in very short lines

v1.7.3

13 Jun 04:26
2d57fbf
Compare
Choose a tag to compare

Major Changes

  • Added docker container to Unraid Community Apps store
  • Added ability to create season posters automatically (and manually)
    • Looks for season poster creation in YAML of the format:
      season_posters:
        create: true
        titles:
          1: some season title
        font:
          file: ./path/to/some/file.ex
          color: "#hex"
    • Looks for base images titled season{number}.jpg, such as season1.jpg in the source directory
    • Example of a created poster:
    • Added mini maker arguments
      • --season-poster, --season-text, --season-font, --season-font-color, --season-font-size, --season-font-kerning
  • Automatically download logos for all series
    • Independent of archive functionality, logos are downloaded so that they can be used by the LogoTitleCard (and other cards) without having to be run twice
    • Move SVG to PNG image conversion from ShowSummary class to ImageMaker
  • Removed ability to set global custom logo filename

Major Fixes

N/A

Minor Changes

  • Removed dependence on StandardTitleCard from ShowSummary
  • Generalized all ShowArchive functionality
    • Delete all "hard-coded" function definitions and replaced them with __getattr__() wrapper so any function can easily be passed to all Show objects
  • Consolidated directory creation
    • Removed from various classes and moved into PreferenceParser object initialization
    • Removed output parent directory creation from the abstract CardType.create() method into the TitleCard.create() wrapper (less error prone)
  • Change EpisodeMap.get_generic_season_title() method to take either season number or EpisodeInfo object
  • Pass episode indices (i.e. season_number, episode_number, and abs_number) to title card object creation
  • Rework EpisodeInfo class into dataclass

Minor Fixes

N/A

v1.7.2

07 Jun 04:20
94172af
Compare
Choose a tag to compare

Major Changes

N/A

Major Fixes

  • Skip source file existence check if not using unique sources (i.e. LogoTitleCard)

Minor Changes

  • Ignore temp names from Sonarr for up to 2 days after episode airdate
    • Reflects latest Sonarr development changes which implement 2-day buffer due to TVDb API caching

Minor Fixes

  • Fix LogoTitlecards being converted to greyscale if non sRGB color code was provided as background color
  • Don't report missing source images for LogoTitleCard

v1.7.1

06 Jun 20:00
40d4590
Compare
Choose a tag to compare

Major Changes

  • Create reality TV/logo-based title card type
    • New card_type identifiers logo and reality tv
    • Requires "extras" to specify logo and background, like:
      extras:
        logo: /path/to/some/logo.png
        background: green # any color
    • Example of the card:
  • Added global option to disable season subfolders
    • New hide_season_holders option under options in global preferences
    • Affects both normal media directories and archives

Major Fixes

  • Create modules/.objects/ directory during module loading (causing error for docker container)

Minor Changes

  • Add ability to require kanji for a series using the anime card type
    • If the require_kanji extra is provided, cards of that series will not be made if no kanji was found/given
    • Example specification would be:
      extras:
        require_kanji: true

Minor Fixes

N/A

v1.7.0

05 Jun 04:57
51cfcfe
Compare
Choose a tag to compare

Major Changes

  • Add support for fixed PGID and PUID within the docker container
    • Default GID and UID is 314:314, under group/user titlecardmaker
  • Reworked docker container
    • Entrypoint and startup script is less awkward
    • Container no longer uses pipenv
    • Container looks at /config/preferences.yml by default
    • Search for runtime arguments via environment variables
      • TCM_PREFERENCES for --preferences
      • TCM_RUNTIME for --runtime
      • TCM_FREQUENCY for --frequency
      • TCM_MISSING for --missing
      • TCM_LOG for --log
  • Maintain log file(s)
    • All logging is done at DEBUG log level
    • Local logs directory is used to keep up to 8 backup logs
  • Only download remote assets once per-run
    • Temporary TinyDB is used to track RemoteCardType and RemoteFile urls that have been downloaded during execution, only re-download once

Major Fixes

N/A

Minor Changes

  • Add --missing-file argument alongside --missing
  • Added --preferences argument alongside --preference-file
  • Use original title for TMDb matching, even if preferred_title is provided
  • Only warn about series not being present in Plex once per run
  • Update plexapi module version to 4.11.2
  • Rename preferences.py to global_objects.py
  • Ignore placeholder "Episode {x}" titles
    • If title is present within 24 hours after file airing, it is skipped
  • Don't download sources if card type doesn't use unique images
    • Added CardType.USES_UNIQUE_SOURCES attribute to specify whether sources should be downloaded or not

Minor Fixes

  • Fixer and mini maker look at environment variable for preference file
  • Apply styles before selecting sources to avoid potentially downloading sources if manually specified

v1.6.4

30 May 19:40
b032d58
Compare
Choose a tag to compare

Major Changes

  • Add parsing for "preferred title" in data file reading
    • If translated titles are preferred to standard ones, then the translation can be stored under preferred_title and it will be used by the Maker instead of standard title

Major Fixes

  • Match episode text format key modifiers for MultiEpisode objects
    • Episode text format strings like Episode {episode_number:02} weren't being modified properly, as the modifier text (:02) wasn't being identified
    • Now using following regex to identify any prefix/postfix/modifier text:
    ^(.*?)(\s*){(episode|abs)_number(.*?)}(.*)
  • Correctly identify whether a TMDb request has been permanently blacklisted
  • Correctly select source images if using only TMDb sourcing

Minor Changes

  • Delete functionality to import old TMDb blacklist

Minor Fixes

N/A

v1.6.3

28 May 17:54
05ca10e
Compare
Choose a tag to compare

Major Changes

  • Let source images be pulled from Plex
    • Added parsing for source_priority global option (defaults to tmdb, plex), like:
    options:
      source_priority: tmdb | plex | tmdb, plex | plex, tmdb
    • This can specify the order of where source image should be pulled from
    • Created PlexInterface.get_source_image() method
  • Created TextlessTitleCard title card class
    • Added textless card type identifier
    • Created blank font case that just deletes the title text
  • Allow series-wide arbitrary extras to be provided to TitleCard classes
  • Allow for local card_type files

Major Fixes

  • Correctly read summary minimum episode count

Minor Changes

  • Let frequency be scheduled in weeks
  • Made WebInterface.download_image() static
  • Added ability to completely hide "EPISODE {x}" (episode text) from Star Wars card if episode text format is "" (empty string)
  • Added variable episode text offset in StarWarsTitleCard if prefix text is chapter, episode, or part
  • Precompile partless title regex
  • Change CardType.DEFAULT_FONT_CASE to source, from upper

Minor Fixes

  • Correctly set backdrop as downloadable for art/art un/watched styles

v1.6.2

26 May 15:21
76c1775
Compare
Choose a tag to compare

Major Changes

  • Add ability to create series YAML files from Sonarr by tag
    • Add --read-tags fixer argument which takes arbitrary number of tags to filter by
  • Allow for RemoteCardTypes with the mini maker

Major Fixes

N/A

Minor Changes

  • Validate TMDb API key upon initialization
  • Skip font validation TinyDB query for spaces
  • Rework YamlReader class
  • Temporarily ignore placeholder TDB titles from Sonarr

Minor Fixes

  • Fix syntax on fixer's --add-translation argument
  • Correctly set object invalidity for bad/non-existent RemoteCardType specifications
  • Properly skip ShowSummary creation if too few images exist
  • Strictly set PlexAPI module version
  • Only attempt various fixer commands if those interfaces are enabled in the global preferences

v1.6.1

22 May 22:31
dc1cd39
Compare
Choose a tag to compare

Major Changes

N/A

Major Fixes

N/A

Minor Changes

  • Look for environment variables when scheduling Maker
    • --time looks for TCM_RUNTIME environment variable
    • --frequency looks for TCM_FREQUENCY environment variable
  • Critically error if old unwatched setting is used in place of new unwatched_style

Minor Fixes

N/A