ffgl_core/lib.rs
1//! # FFGL plugin
2//!
3//! This crate provides a set of tools to create FFGL plugins in Rust.
4//!
5//! FFGL Plugins require a plugMain function to be defined for the host to call.
6//! the [plugin_main] macro will generate this function for you.
7//!
8//! The quickest way to get started is to implement the [handler::simplified::SimpleFFGLInstance] trait on a struct that represents your plugin instance.
9//!
10//! Then, call ```plugin_main!(SimpleFFGLHandler<YourSimpleFFGLInstanceStruct>)``` to generate the plugMain function.
11//!
12//! If you want to control the details of plugin instantiation, see [handler].
13//!
14//! # Building
15//!
16//! You must compile your library as a cdylib to be loaded by the host.
17//! You can do this in your Cargo.toml:
18//! ```toml
19//! [lib]
20//! crate-type = ["cdylib"]
21//! ```
22//!
23//! # Running
24//!
25//! To actually run your plugin, you'll need to copy it to the FFGL plugin directory.
26//! On macos, you will need to additionally package it as a bundle.
27//! There are helper scripts in the repository that can assist you with this (./deploy_bundle.sh)
28//!
29//! ## Support
30//!
31//! If you have any questions, feel free to send me an email at [dev@edt.nz](mailto:dev@edt.nz)
32//!
33//! Feel free to get involved in the repo at [github.com/edeetee/ffgl-rs](github.com/edeetee/ffgl-rs)
34
35pub mod conversions;
36pub mod entry;
37pub mod ffi;
38pub mod info;
39pub mod inputs;
40pub mod log;
41
42pub mod handler;
43pub mod handler_macro;
44
45pub mod parameters;
46
47pub use inputs::*;
48
49pub use tracing;