pub trait FilterPlugin:
Send
+ Sync
+ Sized {
type Userdata: FilterUserdata;
// Required methods
fn new(info: AviUtl2Info) -> AnyResult<Self>;
fn plugin_info(&self) -> FilterPluginTable;
// Provided methods
fn proc_video(
&self,
_config: &[FilterConfigItem],
_video: &mut FilterProcVideo<Self::Userdata>,
) -> AnyResult<()> { ... }
fn proc_audio(
&self,
_config: &[FilterConfigItem],
_audio: &mut FilterProcAudio<Self::Userdata>,
) -> 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 Associated Types§
Sourcetype Userdata: FilterUserdata
type Userdata: FilterUserdata
エフェクト毎に保持するユーザーデータの型。
使用しない場合は()を指定してください。
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<Self::Userdata>,
) -> AnyResult<()>
fn proc_video( &self, _config: &[FilterConfigItem], _video: &mut FilterProcVideo<Self::Userdata>, ) -> AnyResult<()>
Sourcefn proc_audio(
&self,
_config: &[FilterConfigItem],
_audio: &mut FilterProcAudio<Self::Userdata>,
) -> AnyResult<()>
fn proc_audio( &self, _config: &[FilterConfigItem], _audio: &mut FilterProcAudio<Self::Userdata>, ) -> 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".