Crate osb

source · []
Expand description

An easy-to-use library to create, read, parse and modify .osb storyboard files.

The osb library focuses on ease, scalability and security.

Example

use osb::{Layer, Module, Sprite, Storyboard};

fn module() -> Module {
    let mut module = Module::new(Layer::Background);

    let mut sprite = Sprite::new("res/sprite.png");
    sprite.move_((0, 320, 240));
    module.push(sprite);

    module
}

fn main() -> std::io::Result<()> {
    let mut sb = Storyboard::new();
    sb.push(module());
    sb.print()
}

Warning

This crate is meant to be used by users with experience with the .osb file format, even though the following documentation links to various sources to learn about some concepts of storyboarding.

If you are new to storyboarding, we’d recommend you to develop knowledge on this field first. If you have no idea where to start, a great source of knowledge is PoNo’s osbx wiki.

Modules

All of the storyboard events, Move, Scale, … and the trait Event defining them

The utils, everything we need in order to make osb work

Structs

A component of a Storyboard

The struct corresponding to sprites

What defines a storyboard

Enums

Easings as defined in the official osu! specifications

Layers as defined in the official osu! specifications

Origins as defined in the official osu! specifications

Traits

Trait defining Events