Last updated: July 23, 2026
名前空間: YukkuriMovieMaker.Plugin
アセンブリ: YukkuriMovieMaker.Plugin.dll
プラグイン設定の基底クラスです。JSON形式での自動保存・読み込みを提供します。
public abstract class SettingsBase<T> : ValidatableBindable, ISetting where T : class, ISetting, new()
継承 System.Object → YukkuriMovieMaker.Commons.ValidatableBindable → YukkuriMovieMaker.Commons.ValidatableBindable → YukkuriMovieMaker.Plugin.SettingsBase`1
T には自クラスを指定するCRTPパターンを使います(例: class MySettings : SettingsBase<MySettings>)。
設定ファイルの保存パスはYMM4のバージョンを含むディレクトリ({設定ディレクトリ}/{バージョン}/{型の完全修飾名}.json)です。
古いバージョンの設定ファイルは最大10世代まで保持され、起動時に最新のものを読み込みます。
[JsonIgnore] を付与しないパブリックプロパティーが保存対象になります。
設定値の変更通知とUndo/Redo登録には Set メソッドを使用してください。
プロパティーの変更検知にはINotifyPropertyChangedが使われますが、設定クラスではUndo/Redoは不要なため、
Set を呼び出すだけで十分です。
現在の設定値をJSONファイルに保存します。
public virtual void Save()
保存前に既存ファイルを .bak としてバックアップします。
保存に失敗した場合は例外をスローせずログに記録します。
古いバージョンのディレクトリは10世代を超えると削除されます。
Last updated: July 23, 2026
名前空間: YukkuriMovieMaker.Plugin
アセンブリ: YukkuriMovieMaker.Plugin.dll
プラグイン設定の基底クラスです。JSON形式での自動保存・読み込みを提供します。
public abstract class SettingsBase<T> : ValidatableBindable, ISetting where T : class, ISetting, new()
継承 System.Object → YukkuriMovieMaker.Commons.ValidatableBindable → YukkuriMovieMaker.Commons.ValidatableBindable → YukkuriMovieMaker.Plugin.SettingsBase`1
T には自クラスを指定するCRTPパターンを使います(例: class MySettings : SettingsBase<MySettings>)。
設定ファイルの保存パスはYMM4のバージョンを含むディレクトリ({設定ディレクトリ}/{バージョン}/{型の完全修飾名}.json)です。
古いバージョンの設定ファイルは最大10世代まで保持され、起動時に最新のものを読み込みます。
[JsonIgnore] を付与しないパブリックプロパティーが保存対象になります。
設定値の変更通知とUndo/Redo登録には Set メソッドを使用してください。
プロパティーの変更検知にはINotifyPropertyChangedが使われますが、設定クラスではUndo/Redoは不要なため、
Set を呼び出すだけで十分です。
現在の設定値をJSONファイルに保存します。
public virtual void Save()
保存前に既存ファイルを .bak としてバックアップします。
保存に失敗した場合は例外をスローせずログに記録します。
古いバージョンのディレクトリは10世代を超えると削除されます。