@@ -16,6 +16,16 @@ public sealed class PluginRequest
1616 public List < int > SelectedIndices { get ; set ; } = new ( ) ;
1717 public string VideoFileName { get ; set ; } = string . Empty ;
1818 public double FrameRate { get ; set ; }
19+
20+ /// <summary>Total video duration in seconds. Null when no video is loaded or on older SE versions.</summary>
21+ public double ? VideoDurationSeconds { get ; set ; }
22+
23+ /// <summary>Video frame width in pixels. Null when no video is loaded or on older SE versions.</summary>
24+ public int ? VideoWidth { get ; set ; }
25+
26+ /// <summary>Video frame height in pixels. Null when no video is loaded or on older SE versions.</summary>
27+ public int ? VideoHeight { get ; set ; }
28+
1929 public string UiLanguage { get ; set ; } = string . Empty ;
2030 public string Theme { get ; set ; } = string . Empty ;
2131
@@ -24,6 +34,13 @@ public sealed class PluginRequest
2434
2535 public string SeVersion { get ; set ; } = string . Empty ;
2636 public JsonElement ? Settings { get ; set ; }
37+
38+ /// <summary>
39+ /// Schema version this plugin attached to <see cref="Settings"/> in its last response.
40+ /// Null on first run, when settings were saved without a version, or on older SE versions.
41+ /// Use it to migrate or reset settings written by an older build of this plugin.
42+ /// </summary>
43+ public int ? SettingsVersion { get ; set ; }
2744}
2845
2946/// <summary>Active theme colors. All values are <c>#AARRGGBB</c> hex strings.</summary>
@@ -53,6 +70,14 @@ public sealed class PluginResponse
5370 public string ? Message { get ; set ; }
5471 public PluginSubtitle ? Subtitle { get ; set ; }
5572 public JsonElement ? Settings { get ; set ; }
73+
74+ /// <summary>
75+ /// Schema version for <see cref="Settings"/>. Bump when you change the shape of your
76+ /// settings so you can detect (and migrate or reset) stale data on the next run via
77+ /// <see cref="PluginRequest.SettingsVersion"/>. Optional; null = "unversioned".
78+ /// </summary>
79+ public int ? SettingsVersion { get ; set ; }
80+
5681 public string ? UndoDescription { get ; set ; }
5782}
5883
0 commit comments