aviutl2/lib.rs
1//! # aviutl2-rs
2//!
3//! AviUtl2 SDKのRustラッパー。
4//! このクレートは、AviUtl2のプラグインをRustらしく開発できるようにすることを目的としています。
5//!
6//! ## モジュール
7//!
8//! - [`input`][]:AviUtl2の入力プラグインを実装するためのモジュール。
9//! - [`output`][]:AviUtl2の出力プラグインを実装するためのモジュール。
10//! - [`filter`][]:AviUtl2のフィルタプラグインを実装するためのモジュール。
11//! - [`module`][]:AviUtl2のスクリプトモジュールプラグインを実装するためのモジュール。
12//! - [`generic`][]:AviUtl2の汎用プラグインを実装するためのモジュール。
13//! - [`logger`][]:AviUtl2のロガーへのインターフェースを提供するモジュール。
14//! - [`common`][]:共通の型や関数を提供するモジュール。(トップレベルに再エクスポートされています)
15//! - [`utils`][]:ユーティリティ関数を提供するモジュール。
16//!
17//! 詳細は各モジュールのドキュメントを参照してください。
18//!
19//! ## Feature Flags
20//!
21//! - `input`(デフォルト):入力プラグイン機能を有効にします。
22//! - `output`(デフォルト):出力プラグイン機能を有効にします。
23//! - `filter`(デフォルト):フィルタプラグイン機能を有効にします。
24//! - `module`(デフォルト):スクリプトモジュールプラグイン機能を有効にします。
25//! - `generic`(デフォルト):汎用プラグイン機能を有効にします。
26//! - `image`:`image`クレートを使用して画像の読み書きをサポートします。
27//! - `serde`:`serde`を使用してプロジェクトファイルへのデータの保存と読み込みをサポートします。
28//!
29//! ## Note
30//!
31//! ### 内部アイテムについて
32//!
33//! このクレートにて、`__`で始まる名前のモジュールや関数やマクロは内部実装用です。
34//! マクロなどを通じて利用されることを意図しており、直接使用した場合の互換性は保証されません。
35//! これらのアイテムはsemverの保証対象外であり、予告なく変更または削除される可能性があります。
36#![cfg_attr(docsrs, feature(doc_cfg))]
37
38pub use aviutl2_sys as sys;
39
40pub use anyhow;
41pub use half;
42pub use log;
43
44#[cfg(feature = "aviutl2-alias")]
45pub use aviutl2_alias as alias;
46#[cfg(feature = "image")]
47pub use image;
48pub use num_rational;
49pub use raw_window_handle;
50
51#[doc(inline)]
52pub use aviutl2_macros::plugin;
53
54#[cfg(feature = "input")]
55pub mod input;
56
57#[cfg(feature = "output")]
58pub mod output;
59
60#[cfg(feature = "filter")]
61pub mod filter;
62
63#[cfg(feature = "module")]
64pub mod module;
65
66#[cfg(feature = "generic")]
67pub mod generic;
68
69#[doc(hidden)]
70#[path = "internal_base.rs"]
71pub mod __internal_base;
72
73pub mod common;
74pub mod logger;
75pub mod utils;
76pub use common::*;
77
78#[macro_export]
79#[doc(hidden)]
80macro_rules! __internal_module {
81 ($($item:item)*) => {
82 const _: () = {
83 $($item)*
84 };
85 }
86}