Skip to content

Add SE5 ports of HI2UC, Lines unbreaker, Tight hyphen and HI colorer - #340

Merged
ivandrofly merged 6 commits into
mainfrom
claude/se5-ivandrofly-ports
Oct 17, 2026
Merged

ivandrofly merged 6 commits into
mainfrom
claude/se5-ivandrofly-ports

Conversation

@ivandrofly

Copy link
Copy Markdown
Member

Ports four of ivandrofly's legacy WinForms plugins to SE5 (Avalonia). The legacy plugins in source/ are not changed. Each port is a new folder under se5/.

These four were picked after checking all of ivandrofly's legacy plugins. Their logic was already in plain classes, or easy to move into one. The others need libse at runtime, depend on SE4 internals, or are dev tools or stubs.

Plugin Folder Workflow Tests
Hearing impaired to uppercase (HI2UC) se5/HI2UC hi2uc.yml 30
Lines unbreaker se5/LinesUnbreaker lines-unbreaker.yml 20
Tight hyphen se5/TightHyphen tight-hyphen.yml 20
Hearing impaired colorer se5/HIColorer hi-colorer.yml 23

What each port includes

  • The same layout as the other SE5 plugins (FixEncodingErrors / ItalicEachLine): a checkable before/after preview and All lines / Selected lines.
  • Settings are stored by SE through Settings/SettingsVersion, not in XML files.
  • Batch convert support, including the configure request.
  • Works on request.Subtitle.Paragraphs, so ASSA styles, actors and other fields are kept. Falls back to SubRip on older SE versions.
  • author is ivandrofly in each plugin.json.
  • Entries in Plugins.slnx and a row in the root README table.

Fixes compared with the SE4 plugins

  • HI2UC
    • A line with both a mood and a speaker label now gets both changes. Before, the second result overwrote the first.
    • The saved style is used again.
    • Credit lines like "Corrected by:" are now skipped. The old check never matched them.
    • The analytics call to subtitleedit.ivandrofly.com is removed.
  • Lines unbreaker
    • Only the checked subtitles are joined. Before, every listed subtitle was joined.
    • The length check ignores tags.
    • Dialogs in italics are recognised as dialogs.
  • Tight hyphen
    • Each line can be checked or unchecked.
    • - 5 is no longer turned into -5.
    • Line breaks are kept as they were.
  • HI colorer
    • The Music checkbox now turns music on and off. Before, the narrator checkbox controlled it.
    • Colors are saved. Before, they never were and started as black.
    • Font tags are replaced only on lines that get colored. Before, they were removed from every line.
    • A narrator inside <i> keeps valid tag nesting.
    • Names like "Bobby" are no longer skipped.
    • There is a color picker for each category, and the preview shows the colors.

Testing

  • dotnet build se5/Plugins.slnx -c Release gives 0 warnings and 0 errors.
  • All four test projects pass: 93 tests.
  • Each executable was run on a batch request.json, and each response had the expected text.
  • Each window was opened with a run request and checked visually.
  • Not tested yet inside a real Subtitle Edit 5.

After merge

Once each plugin has had its first release (workflow_dispatch with release), add its se5-plugins.json entry. That entry needs the real download URLs.

🤖 Generated with Claude Code

ivandrofly and others added 6 commits October 17, 2026 12:27
Avalonia port of the SE4 HI2UC plugin. The casing logic is carried over and
moods and narrators are now applied to the same line one after the other. The
saved style is used again, settings are stored by SE, and there is batch
convert support. The analytics call is removed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Avalonia port of the SE4 LinesUnbreaker plugin. Only the checked subtitles are
joined, the length check ignores tags, the maximum length defaults to SE's
line length rule, settings are stored by SE, and there is batch convert support.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Avalonia port of the SE4 TightHyphen plugin. The dash logic is now a separate
class, lines can be checked before applying, a dash followed by a number is
left alone, line breaks are kept, and there is batch convert support.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Avalonia port of the SE4 HIColorer plugin, with no libse or System.Drawing.
It adds a color picker for each category, a preview that shows the colors, and
per-line checkboxes. It fixes the music toggle (it was wired to narrator) and
the colors that were never saved. Font tags are replaced only on lines that get
colored, and there is batch convert support.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ders

Moves each plugin's files into folders with matching namespaces and splits
files that held several types into one file per type. The window XAML, usings
and tests are updated to match. No behavior change.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Switches the four SE5 ports from [ObservableProperty] fields to partial
properties. Default values move into the constructors. The plugins use C# 14
with CommunityToolkit.Mvvm 8.4.2 and still target net8.0. Their workflows now
install the .NET 10 SDK, plus the .NET 8 runtime for the tests.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ivandrofly
ivandrofly merged commit 5f6071d into main Oct 17, 2026
37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant