Last updated: July 23, 2026
名前空間: YukkuriMovieMaker.Plugin.Effects
アセンブリ: YukkuriMovieMaker.Plugin.dll
映像エフェクトの基底クラスです。
public abstract class VideoEffectBase : Animatable, IVideoEffect
継承 System.Object → YukkuriMovieMaker.Commons.Animatable → YukkuriMovieMaker.Commons.Animatable → YukkuriMovieMaker.Plugin.Effects.VideoEffectBase
映像エフェクトプラグインを実装する場合はこのクラスを継承してください。
継承クラスには [VideoEffect] 属性を付与する必要があります。
コンストラクターは、Animatable が保有するアニメーション可能プロパティ(Animation 型)の UndoRedoCommandCreated イベントを自動的に購読します。
これにより、アニメーションの変更が PropertyChanged イベントの Label 通知として伝播します。
プロパティーの変更通知とUndo/Redo登録には Set メソッドを使用してください。
プロパティーに IUndoRedoable を実装したオブジェクト(Animation など)を設定する場合、
Set メソッドが自動的に古い値のイベント解除・新しい値のイベント購読を行います。
| 名前 | 説明 |
|---|---|
| #ctor | VideoEffectBase クラスの新しいインスタンスを初期化します。 |
| CreateExoVideoFilters | AviUtl拡張編集(.exo)用の映像フィルター文字列を生成します。 |
| CreateVideoEffect | 映像エフェクトプロセッサーを作成します。 |
| GetFiles | このエフェクトが参照するファイルパスの一覧を返します。 |
| GetResources | このエフェクトが参照するタイムラインリソースの一覧を返します。 |
| ReplaceFile | エフェクトが参照するファイルパスを置き換えます。 |
| Set | 参照、または式で与えられるプロパティーに値を設定し、変更があった場合YMMはそれを検知します。 |
AviUtl拡張編集(.exo)用の映像フィルター文字列を生成します。
public abstract IEnumerable<string> CreateExoVideoFilters(int keyFrameIndex, ExoOutputDescription exoOutputDescription);
[VideoEffect] の IsAviUtlSupported が false の場合、この戻り値は使用されません。
AviUtl出力に対応しない場合は空のシーケンス([] または Array.Empty<string>())を返してください。
映像エフェクトプロセッサーを作成します。
public abstract IVideoEffectProcessor CreateVideoEffect(IGraphicsDevicesAndContext devices);
フレームのレンダリングごとに呼び出されるわけではなく、プレビューセッション開始時や設定変更時に呼ばれます。
devices からDirect2Dデバイスやコンテキストを取得できます。
返した IVideoEffectProcessor がフレームごとの描画処理を担います。
このエフェクトが参照するファイルパスの一覧を返します。
public virtual IEnumerable<string> GetFiles()
既定の実装は空のシーケンスを返します。 エフェクトが特定のファイルを参照する場合はオーバーライドしてパスを列挙してください。 プロジェクトのエクスポートや移動に使用されます。
このエフェクトが参照するタイムラインリソースの一覧を返します。
public virtual IEnumerable<TimelineResource> GetResources()
既定の実装は Remark プロパティーからコンテンツIDを解析してリソースを生成します。
また、このエフェクト自体がタイムラインリソースとして登録可能な場合、内部処理によりリソースが追加されます。
外部ファイルや特殊なリソースを参照する場合はこのメソッドをオーバーライドしてください。
エフェクトが参照するファイルパスを置き換えます。
public virtual void ReplaceFile(string from, string to)
既定の実装は何もしません。
GetFiles でパスを返す場合は、このメソッドもオーバーライドして対応するプロパティーを更新してください。
参照、または式で与えられるプロパティーに値を設定し、変更があった場合YMMはそれを検知します。
protected override bool Set<T>(ref T storage, T value, [CallerMemberName] string name = "", params string[] etcChangedPropertyNames);
| 名前 | 型 | 説明 |
|---|---|---|
| IsEnabled | System.Boolean | エフェクトが有効かどうかを取得または設定します。 |
| Label | System.String | エフェクトの表示名を取得します。 |
| Remark | System.String | エフェクトに紐付けられたリマーク文字列を取得または設定します。 |
エフェクトが有効かどうかを取得または設定します。
public bool IsEnabled { get; set; }
既定値は true です。
プロパティー変更は Set メソッド経由でUndo/Redoに登録されます。
エフェクトの表示名を取得します。
[JsonIgnore]
public abstract string Label { get; }
[JsonIgnore] が付与されているため、プロジェクトファイルへの保存対象外です。
アニメーションパラメーターの値を含む文字列を返すように実装することで、
アニメーション変更時にタイムライン上の表示が自動更新されます。
エフェクトに紐付けられたリマーク文字列を取得または設定します。
public string Remark { get; set; }
GetResources の既定実装がこのプロパティーからコンテンツIDを解析してタイムラインリソースを生成します。
エフェクトが外部リソースを参照する場合、このプロパティーにコンテンツIDを格納してください。
Last updated: July 23, 2026
名前空間: YukkuriMovieMaker.Plugin.Effects
アセンブリ: YukkuriMovieMaker.Plugin.dll
映像エフェクトの基底クラスです。
public abstract class VideoEffectBase : Animatable, IVideoEffect
継承 System.Object → YukkuriMovieMaker.Commons.Animatable → YukkuriMovieMaker.Commons.Animatable → YukkuriMovieMaker.Plugin.Effects.VideoEffectBase
映像エフェクトプラグインを実装する場合はこのクラスを継承してください。
継承クラスには [VideoEffect] 属性を付与する必要があります。
コンストラクターは、Animatable が保有するアニメーション可能プロパティ(Animation 型)の UndoRedoCommandCreated イベントを自動的に購読します。
これにより、アニメーションの変更が PropertyChanged イベントの Label 通知として伝播します。
プロパティーの変更通知とUndo/Redo登録には Set メソッドを使用してください。
プロパティーに IUndoRedoable を実装したオブジェクト(Animation など)を設定する場合、
Set メソッドが自動的に古い値のイベント解除・新しい値のイベント購読を行います。
| 名前 | 説明 |
|---|---|
| #ctor | VideoEffectBase クラスの新しいインスタンスを初期化します。 |
| CreateExoVideoFilters | AviUtl拡張編集(.exo)用の映像フィルター文字列を生成します。 |
| CreateVideoEffect | 映像エフェクトプロセッサーを作成します。 |
| GetFiles | このエフェクトが参照するファイルパスの一覧を返します。 |
| GetResources | このエフェクトが参照するタイムラインリソースの一覧を返します。 |
| ReplaceFile | エフェクトが参照するファイルパスを置き換えます。 |
| Set | 参照、または式で与えられるプロパティーに値を設定し、変更があった場合YMMはそれを検知します。 |
AviUtl拡張編集(.exo)用の映像フィルター文字列を生成します。
public abstract IEnumerable<string> CreateExoVideoFilters(int keyFrameIndex, ExoOutputDescription exoOutputDescription);
[VideoEffect] の IsAviUtlSupported が false の場合、この戻り値は使用されません。
AviUtl出力に対応しない場合は空のシーケンス([] または Array.Empty<string>())を返してください。
映像エフェクトプロセッサーを作成します。
public abstract IVideoEffectProcessor CreateVideoEffect(IGraphicsDevicesAndContext devices);
フレームのレンダリングごとに呼び出されるわけではなく、プレビューセッション開始時や設定変更時に呼ばれます。
devices からDirect2Dデバイスやコンテキストを取得できます。
返した IVideoEffectProcessor がフレームごとの描画処理を担います。
このエフェクトが参照するファイルパスの一覧を返します。
public virtual IEnumerable<string> GetFiles()
既定の実装は空のシーケンスを返します。 エフェクトが特定のファイルを参照する場合はオーバーライドしてパスを列挙してください。 プロジェクトのエクスポートや移動に使用されます。
このエフェクトが参照するタイムラインリソースの一覧を返します。
public virtual IEnumerable<TimelineResource> GetResources()
既定の実装は Remark プロパティーからコンテンツIDを解析してリソースを生成します。
また、このエフェクト自体がタイムラインリソースとして登録可能な場合、内部処理によりリソースが追加されます。
外部ファイルや特殊なリソースを参照する場合はこのメソッドをオーバーライドしてください。
エフェクトが参照するファイルパスを置き換えます。
public virtual void ReplaceFile(string from, string to)
既定の実装は何もしません。
GetFiles でパスを返す場合は、このメソッドもオーバーライドして対応するプロパティーを更新してください。
参照、または式で与えられるプロパティーに値を設定し、変更があった場合YMMはそれを検知します。
protected override bool Set<T>(ref T storage, T value, [CallerMemberName] string name = "", params string[] etcChangedPropertyNames);
| 名前 | 型 | 説明 |
|---|---|---|
| IsEnabled | System.Boolean | エフェクトが有効かどうかを取得または設定します。 |
| Label | System.String | エフェクトの表示名を取得します。 |
| Remark | System.String | エフェクトに紐付けられたリマーク文字列を取得または設定します。 |
エフェクトが有効かどうかを取得または設定します。
public bool IsEnabled { get; set; }
既定値は true です。
プロパティー変更は Set メソッド経由でUndo/Redoに登録されます。
エフェクトの表示名を取得します。
[JsonIgnore]
public abstract string Label { get; }
[JsonIgnore] が付与されているため、プロジェクトファイルへの保存対象外です。
アニメーションパラメーターの値を含む文字列を返すように実装することで、
アニメーション変更時にタイムライン上の表示が自動更新されます。
エフェクトに紐付けられたリマーク文字列を取得または設定します。
public string Remark { get; set; }
GetResources の既定実装がこのプロパティーからコンテンツIDを解析してタイムラインリソースを生成します。
エフェクトが外部リソースを参照する場合、このプロパティーにコンテンツIDを格納してください。