Skip to content

Add Typewriter effect SE5 plugin (Avalonia)#269

Merged
niksedk merged 1 commit into
mainfrom
typewriter-effect
May 17, 2026
Merged

Add Typewriter effect SE5 plugin (Avalonia)#269
niksedk merged 1 commit into
mainfrom
typewriter-effect

Conversation

@niksedk
Copy link
Copy Markdown
Member

@niksedk niksedk commented May 17, 2026

Summary

  • Adds a new SE5 plugin Typewriter effect under `se5/TypewriterEffect/`, addressing SE5 Typewriter Mode subtitleedit#10942.
  • Each selected subtitle line is split into N short lines that progressively reveal the text character by character, optionally followed by a final line that holds the fully-typed text for a configurable end delay before the original end time. Logic is a faithful port of the SE4 `EffectTypewriter` form.
  • Built as an Avalonia 11 / .NET 8 desktop app — single settings dialog with a numeric input for the end delay, plus OK / Cancel. Theme variant (Dark / Light) is picked from `request.theme` so the plugin matches Subtitle Edit's appearance.
  • End-delay is persisted via the plugin Settings round-trip.
  • Inline SRT parser/serializer; ASSA overrides and ` <font ...>` tags are preserved on the exploded paragraphs.

Build

  • `.github/workflows/typewriter.yml` mirrors the existing `haxor.yml`: matrix self-contained publish for `win-x64 / win-arm64 / linux-x64 / linux-arm64 / osx-x64 / osx-arm64`, plugin.json rewritten per-platform with the `executables` block, six zips uploaded as artifacts. On manual dispatch with a tag, attaches all six to a GitHub release.
  • `se5-plugins.json` extended with a Typewriter-effect entry pointing at the planned `se5-typewriter-v1.0` release assets via the per-platform `downloads` map (matches the schema added in Per-platform plugin downloads in the index subtitleedit#10999).

Notes / caveats

  • Self-contained single-file Avalonia + .NET 8 is ~98 MB per platform — bigger than Haxor (~30 MB) but expected.
  • Skipped a live animated preview from SE4 (was a winforms-specific Timer + RichTextBox); the dialog only exposes the settings. Could be added later.
  • The release zips do not exist yet; `se5-plugins.json` is staged for when `workflow_dispatch` is run with tag `se5-typewriter-v1.0`.

Test plan

  • CI matrix build passes on all six RIDs.
  • Locally: select a few lines in SE5, run the plugin, verify the dialog appears in the same theme as SE.
  • OK: those lines are exploded into character-reveal paragraphs; end-delay > 0 holds the full line.
  • Cancel: subtitle unchanged.
  • Re-running shows the last end-delay value.

🤖 Generated with Claude Code

Ports the SE4 "Effect → Typewriter…" feature (issue #10942) as a
standalone SE5 plugin. Each selected subtitle line is exploded into
several short lines that progressively reveal the text character by
character, with an optional end delay holding the fully-typed line
before the original end time.

The plugin is an Avalonia 11 / .NET 8 app:
- Settings dialog with a numeric input for the end delay.
- Inherits Dark/Light theme from request.theme.
- Persists endDelay via the plugin Settings round-trip.
- Inline SRT parser/serializer; ASSA overrides and html i/b/u/font
  tags are preserved across the exploded paragraphs.

Adds .github/workflows/typewriter.yml that mirrors haxor.yml:
matrix self-contained publish for the six supported RIDs, plugin.json
rewritten to per-OS executables block per zip, and (on dispatch with
a tag) a GitHub release with all six zips attached. Updates
se5-plugins.json to point at the planned se5-typewriter-v1.0 release
assets via the per-platform downloads map.

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