mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-12 10:03:51 +00:00
read_smf (formats 0 and 1, format 2 best effort) and write_smf (format 1, 960 PPQ) with the model they read into: Note, CtrlEvent, CtrlKind and Sequence, in ticks at 960 per quarter note. serde on the model types is behind the `serde` feature. Moved from soundcraft crates/midi at 17d3f007: smf.rs, sequence.rs, the error type, the SMF tests and the Sequence tests. The editing operations (quantize, transpose, ...) and the display names stay in SoundCraft. Adds a test for the MAX_TRACKS limit, which had none.
24 lines
630 B
TOML
24 lines
630 B
TOML
[package]
|
|
name = "craft-midi"
|
|
description = "MIDI file formats: Standard MIDI File (SMF 0/1/2) reader and format-1 writer over a neutral note and controller model, bounded on hostile input"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
repository.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
# Serialize / Deserialize on the model types (Note, CtrlEvent, CtrlKind, Sequence).
|
|
serde = ["dep:serde"]
|
|
|
|
[dependencies]
|
|
serde = { workspace = true, optional = true }
|
|
thiserror.workspace = true
|
|
|
|
[dev-dependencies]
|
|
proptest.workspace = true
|
|
serde_json.workspace = true
|