1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! This crate implements a client library and a player for the [rocket sync tracker](https://github.com/rocket/rocket).
//! You can connect to a rocket tracker, get values from tracks, and live-edit your production.
//!
//! **There are two alternative APIs in this crate:**
//!
//! ## Simple API
//!
//! See the [`simple`] module. Requires enabling the `simple` feature.
//! Handles both editing and release playback use cases using conditional compilation.
//!
//! ## Low-level API
//!
//! The [`client`] module contains the types which you need to connect to a Rocket tracker and edit your production.
//!
//! The [`player`] module contains a player which you can use when building your production in release mode.
//!
//! # Features
//!
//! | Feature | Purpose |
//! | --- | --- |
//! | `serde` | Derive [serde](https://crates.io/crates/serde)'s traits on the [`Track`]-type |
//! | `bincode` | Derive [bincode](https://crates.io/crates/bincode)'s traits on the [`Track`]-type |
//! | `simple` | Enables the [`simple`] API |
//! | `player` | Builds the [`simple`] API in file player mode instead of client mode |
//!
//! All features are mutually compatible, but if you choose to use `bincode` as your serialization library,
//! you don't need to use `serde`.
//!
//! The `simple` feature enables `bincode`.
pub use RocketClient;
pub use RocketPlayer;
pub use Track;
/// Produced by [`RocketClient::save_tracks`] and consumed by [`RocketPlayer::new`]
pub type Tracks = ;