Crates.io | ffgl-core |
lib.rs | ffgl-core |
version | 0.2.6 |
source | src |
created_at | 2024-03-12 09:54:48.649733 |
updated_at | 2024-03-13 11:32:28.111209 |
description | FFGL plugin framework |
homepage | https://github.com/edeetee/ffgl-rs |
repository | https://github.com/edeetee/ffgl-rs |
max_upload_size | |
id | 1170495 |
size | 30,288,567 |
FFGL (Resolume & VDMX plugin) framework for rust.
Please get in contact with me at dev@edt.nz if you have any questions!
The following command will take an ISF file, compile it to a plugin and deploy it to the system plugin folder. It is a good example of the steps required to make a plugin work.
example_isf/deploy_isf.sh <isf_file>
There also a bulk version of the script that will deploy all the ISF files in the example_isf folder and some from the system ISF directory.
example_isf/bulk_deploy_isf.sh
Once a plugin has been built, it needs to be deployed to the system FFGL directory. On macos, it needs to be packaged as a 'Bundle' (A fancy folder).
deploy_bundle.sh <output_lib_name>
./resolume.sh
or
./vdmx.sh
I have integrated tracing into the plugin. To change the log level you can set the RUST_LOG
environment variable. For example to set the log level to trace you can run
RUST_LOG=trace ./resolume.sh
You can create your own plugin from scratch by either using the SimpleFFGLInstance trait, or implement both the FFGLHandler and FFGLInstance traits.
You must call the ffgl_handler!() macro to associate your plugin with the correct entry points.
Use this to create a glium instance while inside an ffgl plugin
Use this to create an isf plugin. Needs more work to be modular.
I want a simple wrapper to make plugins for VJ programs such as resolume and present the user a basic GL context that can be used however you want for fun &advanced FX/Sources. This could be a good starting point for other connections (Connect to a touchdesigner instance that can automatically pause and swap between COMPs)