https://github.com/nukep/libxm-rs
A binding of libxm for Rust
https://github.com/nukep/libxm-rs
Last synced: 3 months ago
JSON representation
A binding of libxm for Rust
- Host: GitHub
- URL: https://github.com/nukep/libxm-rs
- Owner: nukep
- License: wtfpl
- Created: 2015-02-10T22:05:14.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2024-10-25T00:59:43.000Z (over 1 year ago)
- Last Synced: 2026-03-06T21:41:09.276Z (4 months ago)
- Language: Rust
- Size: 869 KB
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# libxm-rs
[](https://crates.io/crates/libxm)
[](https://docs.rs/libxm/)
A binding of [libxm](https://github.com/Artefact2/libxm/) for Rust.
A small XM (FastTracker II Extended Module) player library. Designed
for easy integration in demos and such, and provides timing functions
for easy sync against specific instruments, samples or channels.
As with libxm, this library is released under the WTFPL license.
## [Documentation](https://docs.rs/libxm/)
Documentation is hosted here: https://docs.rs/libxm/
## Build requirements
If `libxm` is built locally (this is the default!), you must have a C compiler
on your system that supports the C11 standard.
If you don't wish to build locally, a shared library that you have pre-built
can be provided by following the steps below.
## Linking to a shared version of `libxm`
By default, `libxm-rs` statically links and compiles `libxm`.
This is to allow users to get started with the library more quickly.
If you wish to provide your own shared or custom version of `libxm`, you can
override the build step for `xm` in a `.cargo/config` file
(see https://doc.rust-lang.org/cargo/reference/build-scripts.html#overriding-build-scripts).
```toml
[target.x86_64-unknown-linux-gnu.xm]
rustc-flags = "-l xm"
```