pub trait FilterPlugin:
Send
+ Sync
+ Sized {
// Required methods
fn new(info: AviUtl2Info) -> AnyResult<Self>;
fn plugin_info(&self) -> FilterPluginTable;
// Provided methods
fn proc_video(
&self,
_config: &[FilterConfigItem],
_video: &mut FilterProcVideo,
) -> AnyResult<()> { ... }
fn proc_audio(
&self,
_config: &[FilterConfigItem],
_audio: &mut FilterProcAudio,
) -> AnyResult<()> { ... }
fn with_instance<R>(f: impl FnOnce(&Self) -> R) -> R
where Self: FilterSingleton { ... }
fn with_instance_mut<R>(f: impl FnOnce(&mut Self) -> R) -> R
where Self: FilterSingleton { ... }
}Available on crate feature
filter only.Expand description
フィルタプラグインのトレイト。
このトレイトを実装し、crate::register_filter_plugin! マクロを使用してプラグインを登録します。
Required Methods§
Sourcefn new(info: AviUtl2Info) -> AnyResult<Self>
fn new(info: AviUtl2Info) -> AnyResult<Self>
プラグインを初期化する。
Sourcefn plugin_info(&self) -> FilterPluginTable
fn plugin_info(&self) -> FilterPluginTable
プラグインの情報を返す。
Provided Methods§
Sourcefn proc_video(
&self,
_config: &[FilterConfigItem],
_video: &mut FilterProcVideo,
) -> AnyResult<()>
fn proc_video( &self, _config: &[FilterConfigItem], _video: &mut FilterProcVideo, ) -> AnyResult<()>
画像フィルタ処理関数。
Sourcefn proc_audio(
&self,
_config: &[FilterConfigItem],
_audio: &mut FilterProcAudio,
) -> AnyResult<()>
fn proc_audio( &self, _config: &[FilterConfigItem], _audio: &mut FilterProcAudio, ) -> AnyResult<()>
音声フィルタ処理関数。
Sourcefn with_instance<R>(f: impl FnOnce(&Self) -> R) -> Rwhere
Self: FilterSingleton,
fn with_instance<R>(f: impl FnOnce(&Self) -> R) -> Rwhere
Self: FilterSingleton,
Sourcefn with_instance_mut<R>(f: impl FnOnce(&mut Self) -> R) -> Rwhere
Self: FilterSingleton,
fn with_instance_mut<R>(f: impl FnOnce(&mut Self) -> R) -> Rwhere
Self: FilterSingleton,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.