[![crates.io](https://img.shields.io/crates/v/rosu-storyboard.svg)](https://crates.io/crates/rosu-storyboard) [![docs](https://docs.rs/rosu-storyboard/badge.svg)](https://docs.rs/rosu-storyboard) # rosu-storyboard Library to de- and encode [osu!] storyboards. ## Usage Based on `rosu-map`'s [`DecodeBeatmap`] trait, the [`Storyboard`] struct provides a way to decode `.osu` or `.osb` files. ```rust use rosu_storyboard::Storyboard; use rosu_storyboard::element::ElementKind; let path = "./resources/Himeringo - Yotsuya-san ni Yoroshiku (RLC) [Winber1's Extreme].osu"; let storyboard = Storyboard::from_path(path).unwrap(); let first_bg_elem = &storyboard.layers["Background"].elements[0]; assert!(matches!(first_bg_elem.kind, ElementKind::Sprite(_))); ``` [osu!]: https://osu.ppy.sh/ [`DecodeBeatmap`]: rosu_map::DecodeBeatmap [`Storyboard`]: https://docs.rs/rosu-storyboard/latest/rosu_storyboard/storyboard/struct.Storyboard.html