Skip to content

Add Subtitle Edit 5 plugin index and Haxor sample plugin#268

Merged
niksedk merged 1 commit into
mainfrom
add-se5-plugins
May 14, 2026
Merged

Add Subtitle Edit 5 plugin index and Haxor sample plugin#268
niksedk merged 1 commit into
mainfrom
add-se5-plugins

Conversation

@niksedk
Copy link
Copy Markdown
Member

@niksedk niksedk commented May 14, 2026

Summary

Adds the Subtitle Edit 5 plugin index and a sample plugin. SE5's plugin system (subtitleedit#10912) loads plugins as standalone executables that exchange JSON files with Subtitle Edit — a clean break from the SE4 in-process WinForms DLLs, which can't run on the cross-platform Avalonia build.

  • se5-plugins.json — the download index read by SE5's Get plugins online... feature. PluginConstants.OnlineIndexUrl points at this file on main.
  • se5/Haxor/ — a sample SE5 plugin (under a new se5/ folder to keep it separate from the SE4 plugins). It translates subtitle text to "haxor" (lower-case + look-alike swaps: a→4 e→3 o→0 s→$ i→! c→© h→H k→K n→ñ y→¥), honoring the grid selection. It doubles as a reference implementation of the SE5 plugin contract:
    • plugin.json — manifest
    • PluginContract.cs — request/response DTOs
    • Program.cs — read request → transform → write response → exit 0
    • HaxorTranslator.cs — the transform
    • README.md — build/install/packaging instructions

Notes

  • The index downloadUrl points at a se5-v1.0 release that does not exist yet — a Haxor.zip (the published plugin folder, zipped) must be attached to a GitHub release before the in-app installer can fetch it.
  • Builds clean with dotnet build (net8.0); verified end-to-end against a sample request.

Test plan

  • dotnet publish se5/Haxor/Haxor.csproj -c Release, zip the output + plugin.json, attach to a se5-v1.0 release.
  • In SE5: Plugins → Manage plugins... → Get plugins online..., install Haxor, confirm it appears in the Translate area and transforms selected lines.

se5-plugins.json is the download index read by Subtitle Edit 5's
"Get plugins online..." feature.

se5/Haxor is a sample SE5 plugin: a standalone executable that reads a
JSON request, transforms the subtitle, and writes a JSON response. It
serves as a reference for the SE5 plugin contract.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@niksedk niksedk merged commit 5ab8841 into main May 14, 2026
1 check 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