rust_rocket/
lib.rs

1//! This crate implements a client library and player for the Rocket sync tracker.
2//! You can connect to a rocket editor, get values from tracks, and save them to a file
3//! (with the optional `serde` and `bincode` features).
4//!
5//! The [`client`] module contains types which you need to connect to a Rocket server and edit your production.
6//!
7//! The [`player`] module contains a [player implementation](RocketPlayer) which you can use in release mode.
8//! It supports loading previously saved tracks and getting values from them.
9//!
10//! # Features
11//!
12//! - `serde`: Derive [serde](https://crates.io/crates/serde)'s traits on the [`Track`]-type
13//! - `bincode`: Derive [bincode](https://crates.io/crates/bincode)'s traits on the [`Track`]-type
14//!
15//! Both features are mutually compatible, but if you choose to use bincode as your serialization library,
16//! you don't need to use `serde`.
17//!
18//! # Usage
19//!
20//! Start by connecting the [`RocketClient`]. Then create tracks with [`get_track_mut`](RocketClient::get_track_mut)
21//! and poll for updates from the Rocket server by calling [`poll_events`](RocketClient::poll_events) in your main loop.
22//!
23//! See linked documentation items for more examples.
24
25pub mod client;
26pub mod interpolation;
27pub mod player;
28pub mod track;
29
30pub use client::RocketClient;
31pub use player::RocketPlayer;
32pub use track::Track;
33
34/// Produced by [`RocketClient::save_tracks`] and consumed by [`RocketPlayer::new`]
35pub type Tracks = Vec<Track>;