Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pieking1215/rust-pxtone

High level bindings to pxtone for Rust
https://github.com/pieking1215/rust-pxtone

audio music pxtone rust

Last synced: about 1 month ago
JSON representation

High level bindings to pxtone for Rust

Awesome Lists containing this project

README

        

rust-pxtone

GitHub Workflow Status
Crates.io
GitHub commits since latest release

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/](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](https://github.com/PieKing1215/rust-pxtone-sys).

The code is structured into an [`interface`](https://github.com/PieKing1215/rust-pxtone/tree/master/src/pxtone/interface) module and an [`og_impl`](https://github.com/PieKing1215/rust-pxtone/tree/master/src/pxtone/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](https://github.com/PieKing1215/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`](https://github.com/PieKing1215/rust-pxtone/tree/wip-rust-impl) branch, but it's still very WIP.

## License

[pxtone](https://pxtone.org/) © [STUDIO PIXEL](https://studiopixel.jp)

rust-pxtone licensed under either of

* Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)

at your option.

## Contribution

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.