Skip to content

Mirror SE5 contract: settingsVersion + video duration/resolution#279

Merged
niksedk merged 1 commit into
mainfrom
feature/plugin-contract-settings-version-and-video
May 24, 2026
Merged

Mirror SE5 contract: settingsVersion + video duration/resolution#279
niksedk merged 1 commit into
mainfrom
feature/plugin-contract-settings-version-and-video

Conversation

@niksedk
Copy link
Copy Markdown
Member

@niksedk niksedk commented May 24, 2026

Summary

Plugin-side counterpart to SubtitleEdit/subtitleedit#11142.

Updates the three PluginContract.cs mirrors so plugin authors can read the new fields without rolling their own struct:

PluginRequest

  • VideoDurationSeconds: double?
  • VideoWidth: int?
  • VideoHeight: int?
  • SettingsVersion: int?

PluginResponse

  • SettingsVersion: int?

All fields optional and null-safe. Existing plugins on older SE keep working unchanged; this just lets new plugins opt in to the richer request/response surface.

Touched: se5/Plugin-Shared/PluginContract.cs, se5/TypewriterEffect/PluginContract.cs, se5/Haxor/PluginContract.cs. All 6 SE5 projects (the three above plus AmericanToBritish, BritishToAmerican, WordCensor that reference Plugin-Shared) build clean.

Test plan

  • CI builds all 6 SE5 plugin projects green.
  • After SE PR #11142 lands, write a tiny test plugin that returns settingsVersion: 2 from response and reads it back from request on the next run.

🤖 Generated with Claude Code

Adds the new optional fields published in subtitleedit#11142 to the three
plugin-side PluginContract.cs mirrors (Plugin-Shared, TypewriterEffect, Haxor):

PluginRequest:
- VideoDurationSeconds (double?)
- VideoWidth (int?)
- VideoHeight (int?)
- SettingsVersion (int?)

PluginResponse:
- SettingsVersion (int?)

All fields are optional and null-safe: existing plugins compile and run
unchanged, plugins on newer SE that don't write SettingsVersion behave as
"unversioned" just like before.

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