YukkuriMovieMaker.Plugin.CacheProvider
Edit on GitHub

Last updated: July 23, 2026

AI 要約

定義

名前空間: YukkuriMovieMaker.Plugin

アセンブリ: YukkuriMovieMaker.Plugin.dll

IDisposableオブジェクトのキーベースキャッシュを提供するクラスです。

public class CacheProvider : IDisposable

継承 System.Object → YukkuriMovieMaker.Plugin.CacheProvider

実装 System.IDisposable

注釈

映像・音声のレンダリング時に生成したリソース(デコーダーなど)を一時的にプールするために使用します。 TryGetValue でキャッシュから取り出した後はキャッシュから削除されるため、使用後は呼び出し側で Dispose してください。 スレッドセーフです(内部で Lock を使用)。

InvalidateIfSourceSettingsChanged はプラグインの優先順位設定が変わったときにキャッシュを自動クリアします。 InvalidateIfKeyChanged は任意のキー文字列が変化したときにクリアします。

メソッド

名前 説明
Clear キャッシュ内のすべてのオブジェクトをDisposeしてクリアします。
Collect 指定キーでオブジェクトをキャッシュに追加します。
InvalidateIfKeyChanged 渡したキーが前回と異なる場合にキャッシュ全体をクリアします。
InvalidateIfSourceSettingsChanged ファイルソースプラグインの優先順位設定が変わった場合にキャッシュをクリアします。
TryGetValue 指定キーに一致するキャッシュされたオブジェクトを取得します。成功した場合、キャッシュからは削除されます。

Clear

キャッシュ内のすべてのオブジェクトをDisposeしてクリアします。

public void Clear()

戻り値

System.Void

Collect

指定キーでオブジェクトをキャッシュに追加します。

public void Collect(string key, IDisposable source)

パラメーター

key System.String

source System.IDisposable

戻り値

System.Void

InvalidateIfKeyChanged

渡したキーが前回と異なる場合にキャッシュ全体をクリアします。

public void InvalidateIfKeyChanged(string key)

パラメーター

key System.String

戻り値

System.Void

注釈

レンダリング前に設定のハッシュや結合文字列を渡すことで、設定変更時に古いキャッシュが使われるのを防ぎます。

InvalidateIfSourceSettingsChanged

ファイルソースプラグインの優先順位設定が変わった場合にキャッシュをクリアします。

public void InvalidateIfSourceSettingsChanged()

戻り値

System.Void

注釈

内部で動画・音声・画像ソースプラグインの順序文字列を結合したキーを生成し、InvalidateIfKeyChanged に委譲します。

TryGetValue

指定キーに一致するキャッシュされたオブジェクトを取得します。成功した場合、キャッシュからは削除されます。

public bool TryGetValue<T>(string filePath, [NotNullWhen(true)] out T? source) where T : class, IDisposable

パラメーター

filePath System.String

source out T?

注釈

型パラメーター T でフィルタリングします。同じキーに複数の型のオブジェクトが存在する場合、T に一致するものだけが対象です。 取得に成功するとキャッシュから削除されます。取得したオブジェクトは使用後に呼び出し側が Dispose してください。