arcnmx / wireplumber.rs

wireplumber rust bindings
https://arcnmx.github.io/wireplumber.rs/main/wireplumber/
MIT License
21 stars 3 forks source link
pipewire rust wireplumber

latest release docs MIT

This crate provides a high-level interface to PipeWire's API via libwireplumber. Explore the crate documentation and the various modules for information on how to start using WirePlumber with Rust.

[dependencies]
wireplumber = { version = "0.1", features = ["v0_4_16"], git = "https://github.com/arcnmx/wireplumber.rs" }

Examples

Some examples are provided that can be built and run via Cargo:

$ cargo run -p wp-examples --bin wpexec -- --help
... snip ...

# try out the default lua example:
$ cargo run -p wp-examples --bin wpexec

# or load the example plugin module:
$ cargo build --workspace --examples &&
  cargo run -p wp-examples --bin wpexec -- --type wireplumber

External

Projects using wireplumber.rs:

Use Cases

This project aims to facilitate the following applications:

Development

Helper commands are available via cargo wp to facilitate development. Adding ci/bin to your PATH is recommended - the provided direnv shell is set up to do this by default.

GIR Schema

The WirePlumber GIR data is kept in Wp-0.4.gir. A series of fixes must be applied to the upstream XML via the wp-gir-filter script.