scorelib
A safe, modular Rust library to parse and write Guitar Pro files.
Usage
Add this to your Cargo.toml:
[]
= { = "../lib" }
Basic usage:
use Song;
use SongTrackOps;
Features
- GP3, GP4, GP5: High-fidelity reading and writing support.
- GP6/GP7 (.gp, .gpx): Initial experimental reading support.
- MuseScore (.mscz): Basic XML/ZIP parsing.
- Modular Design: Separated into
model,io(low-level primitives), andaudio(MIDI). - Extensible: Uses Rust traits to add format-specific functionality to the core
Songmodel.
Roadmap
- Refactor into
model,io, andaudiomodules. - Convert
impl Songblocks into specialized traits. - Improve GP5 parsing (better handling of complex directions).
- Stabilize GP6/7 support.
- Support for chords and rhythm details in GP6/7.
- Write support for newer formats.
- Comprehensive documentation of the data model.
- Better error management (remove use of expect, unwrap) using crathe thiserror
- Change model for MNX (or separate in a legacy mod)