2 个不稳定版本
使用旧 Rust 2015
0.2.0 | 2019年2月4日 |
---|---|
0.1.1 | 2019年1月10日 |
0.1.0 |
|
5 在 #effects 中排名
每月下载量66次
用于 ofx
135KB
OpenFX 绑定
替换客户端支持 C++ 层,仅通过 bindgen 使用原始 ofx* ABI。
2019年1月状态:尚未准备好生产使用,但基本功能已实现,可通过 crates.io
获取。
设计目标
- 数据类型安全
- 为图像效果插件编写者提供良好的 API
- 一个 dll/so crate 可以包含多个插件
- 每个插件都在其 Rust 模块中
- 每个 crate 有一个集中的插件注册表
Cargo.toml
[dependencies]
ofx = "0.1"
示例代码
在 https://github.com/itadinanta/ofx-rs/examples/basic 中的示例是 OpenFX 中 basic.cpp
示例的几乎逐行翻译。
仅在 Linux 上测试,使用 (Natron) https://natron.fr/ 作为宿主应用程序。请参阅 test_in_natron.sh
中的示例。需要配置 Natron OFX 插件路径。
示例插件框架
lib.rs
extern crate ofx;
mod simple_plugin;
use ofx::*;
register_modules!(simple_plugin);
simple_plugin.rs
use ofx::*;
// plugin declaration
plugin_module!(
"net.itadinanta.ofx-rs.simple_plugin_1",
ApiVersion(1),
PluginVersion(1, 0),
SimplePlugin::new
);
// custom plugin data goes here
struct SimplePlugin {}
impl SimplePlugin {
pub fn new() -> SimplePlugin {
SimplePlugin {}
}
}
impl Execute for SimplePlugin {
// plugin logic goes here
}
依赖关系
~0–2MB
~38K SLoC