Adds a season-agnostic fallback to subtitle-episode matching so dropped
subtitle files no longer need a full SxxEyy code to be attached to the
right video. Recognises bare numbers (06, 6, 16), explicit markers
without a season (E06, EP06, Episode 06), and numbers cleanly delimited
by separators, including the common anime release style 'Show - 06 -
Title'. Guards against false positives from resolutions (1080p), years,
and decimal-looking audio tags (DD5.1) by requiring clean separator
boundaries and capping bare numbers at a few digits.
Full season+episode codes still take priority and match exactly as
before; the new bare-number matching only kicks in when one side of the
match lacks season info.
Note: dotnet is not reachable in this environment, so the required
Release build validation could not be run before this commit.
Opening the selected file's default player is now triggered by
double-clicking the file queue row or a track table row, instead of
pressing Space. The Delete key still removes selected queue items.
Double-clicks on the track table's Copy checkbox column are ignored
so rapidly toggling it doesn't also launch the player.
Drag in subtitle files alongside .mkv files and they're matched to
the right video by episode code (S04E06, zero-padding and separator
insensitive, plus 4x06 as a fallback) and muxed in as extra subtitle
tracks. Any subtitle format mkvmerge accepts is recognized: SRT,
(S)SA, VobSub, WebVTT, PGS/SUP, USF, SAMI, TTML/DFXP, STL, Kate.
Matching works regardless of drop order — subtitles dropped before
their video are held pending until a matching video shows up, and
vice versa. Language, forced, and SDH flags are guessed from common
filename tokens (e.g. "eng", "forced", "sdh") to set the muxed
track's language/name/flags; unmatched subtitles are reported in the
status bar.
- Suffix release tag support: folder name ending in -TAG
prepends [TAG] to output filenames
- Show name injection from parent folder for episode-only
filenames (e.g. S01E01-Name.mkv)
- Queue and logs display predicted output filename
- Run button label reflects rename when applicable
- Gray out main UI while strip/rename is in progress
- Unify audio/subtitle selection: single-select, auto-default,
cross-file propagation by exact name
- Show file size in queue, group divider and reordered columns in
track table, drop accent highlight on row selection
- Add cumulative progress bar (files finished, MB copied) to the
stripping window
- Add Windows toast notifications on stripping completion/cancel/error
- Restart the app after settings are changed; Cancel no longer
clears the queue, only closes the window
- Add ConfigureAwait(false) throughout MkvService so concurrent
strips don't starve the UI thread
- Hardcode scan/strip concurrency (10/5) instead of exposing it in
Settings