#![feature(doc_cfg)]
pub extern crate rustsynth_sys;
pub use rustsynth_sys as ffi;
#[cfg(feature = "proc-macro")]
extern crate rustsynth_derive;
#[doc(cfg(feature = "proc-macro"))]
#[cfg(feature = "proc-macro")]
pub use rustsynth_derive::*;
mod api;
pub mod core;
pub mod filter;
pub mod format;
pub mod frame;
pub mod function;
pub mod log;
pub mod map;
pub mod node;
pub mod plugin;
#[cfg(feature = "vsscript-functions")]
#[doc(cfg(feature = "vsscript-functions"))]
pub mod vsscript;
pub use api::init_api;
pub mod prelude {
pub use super::{
core::{CoreCreationFlags, CoreRef},
filter::{Filter, FilterMode, RequestPattern},
format::{VideoFormat, VideoInfo},
frame::Frame,
node::Node,
};
}
#[must_use]
pub fn api_version() -> i32 {
api::API::get().unwrap().version()
}
#[macro_export(local_inner_macros)]
macro_rules! owned_map {
($({$key:literal: $x:expr }),*) => {
{
let mut temp_map = $crate::map::Map::new().unwrap();
$(
temp_map.set($key, $x).unwrap();
)*
temp_map
}
};
}
pub use ffi::version as MakeVersion;