Awesome
<img src="https://raw.githubusercontent.com/LiveSplit/LiveSplit/master/res/Icon.svg" alt="LiveSplit" height="42" width="45" align="top"/> livesplit-core
livesplit-core is a library that provides a lot of functionality for creating a speedrun timer. It can be used directly from Rust. Additional bindings are available for the following programming languages:
- C
- C++
- C#
- Java with Java Native Access or Java Native Interface
- Kotlin with Java Native Interface
- Swift
- Ruby
- Python
- JavaScript + TypeScript for Node.js and WebAssembly
The documentation is available here:
Projects using livesplit-core
- LiveSplit One Web
- LiveSplit One Desktop Prototype
- LiveSplit One OBS Plugin
- chronos Terminal Timer
- annelid
- splits.io (Parsing)
Build Instructions
You can install Rust with the installer available on rustup.rs. Clone the repository and build the library with the following command:
cargo build --release -p livesplit-core-capi
The library will then be available as a shared and static library in the
target
folder. If you only want to build the library as a shared or static
library, not both, you can run either one of the following commands:
# Shared Library
cargo rustc --release -p livesplit-core-capi --crate-type cdylib
# Static Library
cargo rustc --release -p livesplit-core-capi --crate-type staticlib
If you want to build the bindings for the library too, you need to go into the
capi/bind_gen
folder and run the following command:
cargo run
The bindings will then be available in capi/bindings
.
Download
Builds for a lot of common platforms are available in the Releases.
License
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.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.