Guitarpro

A Rust safe library to parse and write guitar pro files.

Tests rust-clippy

It is based on Perlence/PyGuitarPro, TuxGuitar and MuseScore sources.

usage

```rust use guitarpro;

fn main() { let f = fs::OpenOptions::new().read(true).open("myawesomesong.gp5").unwraporelse(|error| { panic!("Unknown error while opening myawesomesong.gp5"); }); let mut data: Vec = Vec::withcapacity(size); f.take(u64::fromnebytes(size.tonebytes())).readtoend(&mut data).unwraporelse(|error|{panic!("Unable to read file contents");}); let mut song: guitarpro::Song = gp::Song::default(); match ext.asstr() { "GP3" => song.readgp3(&data), "GP4" => song.readgp4(&data), "GP5" => song.read_gp5(&data), "GPX" => println!("Guitar pro file (new version) is not supported yet"), //new Guitar Pro files _ => panic!("Unable to process a {} file (GP1 and GP2 files are not supported)", ext), } } ```

Roadmap

About me

I started to play guitar in 2019 and I have a pack of Guitar Pro files and sometimes I get a new files from Songsterr. I want to write a better documentation but I don't know all the stuffs that I can see on a score ;)

In order to make another software (with advanced search, chord detection, ...), I need a library that is able to parse and write Guitar Pro files.