Skip to content

Releases: guilty57/credits-intros-backup-restore

v1.4.0

Choose a tag to compare

@guilty57 guilty57 released this 23 Jul 09:24

What's new

  • JSON filenames now match the video's own filename in both the central backup folder and media-folder modes - same convention the NFO insert feature already used, and a direct response to feedback in this thread about keeping backups tied to their episode through renames.
  • Restore matching completely reworked: instead of relying on filename at all, restore now scans backup files by content and matches in priority order - TVDB ID first, then IMDB ID, then filename as a last resort. This also answers the "what if there's no TVDB ID" question from earlier in this thread - those episodes are no longer skipped outright, they just fall through to IMDB or filename matching instead.
  • Fixed a Category mismatch that caused the Backup and Restore tasks to show under two separate headings in Scheduled Tasks instead of one shared group.
  • Added a note to the README's Permissions section: don't pre-create the backup folder yourself (via SSH, a zip extract, etc.) - just type the path into the config and save. The plugin creates the folder itself on first run, correctly owned by the Emby account, which avoids the most common permission error entirely.

Prebuilt DLL

A prebuilt IntrosBackupReplacement.dll is attached below for convenience. Built and tested against Emby Server 4.10.0.20. If you're on a meaningfully different version, build from source instead (see README).

v1.3.0

Choose a tag to compare

@guilty57 guilty57 released this 21 Jul 15:44

What's new

  • Media NFO integration: optionally insert markers directly into the NFO file your metadata scraper (e.g. NfoMetadata plugin) already writes next to each episode - same schema as the original commercial plugin, for interoperability. Verified to survive Emby's own metadata refresh (unknown nodes are preserved). Also used as a restore fallback when no JSON backup exists for an episode.
  • Restore matching fixed: episodes are now matched by TVDB ID + season + episode number via a filename glob, instead of an exact filename built from the episode's current title. This fixes silent restore failures when a library's metadata language differs from the language the backup was originally written in (e.g. translated episode titles).
  • Simplified configuration: removed the standalone "write our own separate NFO file" option (JSON remains the reliable backup format; the new media-NFO integration covers the interoperable case). Three settings now: JSON backup path, save JSON to media folders, and insert markers into the media's existing NFO.
  • UI polish: the JSON backup path field now grays out when "save to media folders" is checked, since it's ignored in that mode.

Prebuilt DLL

A prebuilt IntrosBackupReplacement.dll is attached below for convenience. It was built and tested against Emby Server 4.10.0.18/4.10.0.20. If you're on a meaningfully different version, build from source instead (see README).

Note on Media NFO integration

The "insert markers into media NFO" feature only writes into an NFO file that already exists - it never creates one. For it to have anything to write into, the library must have "Nfo" enabled under Metadata Savers (Library settings → Metadata), and existing episodes need a Refresh Metadata run (not just a library scan) so their NFO files actually get generated first.

v1.2.0

Choose a tag to compare

@guilty57 guilty57 released this 21 Jul 12:29

What's Fixed

Restore now matches backup files by TvdbId + season/episode number, not an
exact filename match on episode title. Previously, if a server's library
metadata language differed from the language used when the backup was
created (e.g. translated episode titles), the restore task would silently
skip every affected episode — no error, no log entry.

Diagnostics

The restore task now logs why an episode was skipped (no TvdbId vs. no
matching backup file found), instead of only reporting a final count.

Notes

  • Backup file matching pattern: *({TvdbId})*S{season}E{episode}*.json
  • BackupIntrosTask (write side) is unchanged.

v1.1.0

Choose a tag to compare

@guilty57 guilty57 released this 16 Jul 23:17

What's new

  • Media-folder storage option: save JSON/NFO backups next to each episode's video file instead of (or alongside) a centralized folder
  • Removed the redundant "Also write a companion .nfo file" checkbox - NFO output is now driven purely by whether a destination path is configured
  • Per-episode backup writes are now resilient to permission errors - one folder's issue no longer aborts the whole run, with a summary count at the end
  • Added a README "Permissions" section covering common Linux and Synology ACL fixes
  • Custom cloud_upload icon instead of the default folder icon
  • Scheduled task descriptions and category label clarified

Prebuilt DLL

A prebuilt IntrosBackupReplacement.dll is attached below for convenience.
It was built and tested only against Emby Server 4.10.0.18. If you're on
a different version, build from source instead (see README).

v1.0.0 - Initial Release

Choose a tag to compare

@guilty57 guilty57 released this 14 Jul 10:29

Initial public release.

Features

  • Backs up TV episode intro/credits chapter markers as one JSON file per episode
  • Restores markers from JSON backups, matching by TVDB ID + season + episode
  • Automatically archives previous backups into a timestamped zip before each run
  • Optional companion .nfo output
  • Runs as standard Emby scheduled tasks - no custom in-app dialogs

Requirements

Built and tested against Emby Server 4.10.0.18. See the README for build
instructions - you'll need to supply your own MediaBrowser SDK DLLs from
your Emby install (not redistributed here for licensing reasons).

Scope

TV episodes only - movie intro/credits markers are not handled.

Full Changelog: https://github.com/guilty57/credits-intros-backup-restore/commits/v1.0.0

Prebuilt DLL

A prebuilt IntrosBackupReplacement.dll is attached below for convenience.
It was built and tested only against Emby Server 4.10.0.18. If you're on
a different version, build from source instead (see README) - a mismatch
can cause the plugin to fail to load or behave unexpectedly.