High level bindings to pxtone for Rust
(note: the current release on crates.io is very outdated because I'm in the middle of a big refactor)
Run cargo run --release --example full_playback
for a demo.
See examples/ for sample code.
This project adds extra layers on top of the original pxtone library in order to provide a more Rust-friendly API.
For low-level bindings, see rust-pxtone-sys.
The code is structured into an interface
module and an og_impl
module.
The idea is that the interface
module contains all of the traits and structure that define the API, and the og_impl
module contains an implementation of these traits using the original pxtone library via rust-pxtone-sys.
(The og_impl
module is controlled by the feature "og-impl" which is on by default)
Work is also being done on an entirely Rust implementation of this interface, located on the wip-rust-impl
branch, but it's still very WIP.
rust-pxtone licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.