OpenFX bindings for Rust
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

OpenFX bindings

Replaces the client Support C++ layer, using the raw ofx* ABI via bindgen only.

11/2018 status: Not ready for use/evaluation - no availabilty as yet. Perhaps still good as a PoC

Design goals

  • data and type safe
  • ergonomic API for Image Effect plugin writers
  • one dll/so crate can contain multiple plugins
  • each plugin in its own Rust module
  • centralised plugin registry per crate

Example plugin skeleton

extern crate ofx;

mod simple_plugin;

use ofx::*;


use ofx::*;

// plugin declaration
	PluginVersion(1, 0),

// custom plugin data goes here
struct SimplePlugin {}

impl SimplePlugin {
	pub fn new() -> SimplePlugin {
		SimplePlugin {}

impl Execute for SimplePlugin {
// plugin logic goes here