9 releases (1 stable)
1.0.1 | Aug 25, 2024 |
---|---|
0.6.2 | Mar 23, 2024 |
0.6.0 | Jan 11, 2024 |
0.5.0 | Feb 11, 2023 |
0.3.1 |
|
#74 in Multimedia
23 downloads per month
29KB
476 lines
MPV plugins in Rust
Bindings for libmpv client API that allow you to create plugins for MPV in Rust.
Example
Here is an example for your Cargo.toml
:
[package]
name = "mpv-plugin"
version = "0.1.0"
edition = "2021"
[lib]
name = "mpv_plugin"
crate-type = ["cdylib"]
[dependencies]
mpv-client = "0.6.2"
And then the code src/lib.rs
:
use mpv_client::{mpv_handle, Event, Handle};
#[no_mangle]
extern "C" fn mpv_open_cplugin(handle: *mut mpv_handle) -> std::os::raw::c_int {
let client = Handle::from_ptr(handle);
println!("Hello world from Rust plugin {}!", client.name());
loop {
match client.wait_event(-1.) {
Event::Shutdown => { return 0; },
event => { println!("Got event: {}", event); },
}
}
}
Dependencies
~0–2MB
~38K SLoC