bms-rs 1.0.0

The BMS format parser.
Documentation
//! This module introduces struct [`Resources`], which manages external resource paths.

use std::path::PathBuf;

use num::BigUint;

#[derive(Debug, Default, Clone, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
/// This aggregate manages external resource paths.
pub struct Resources {
    /// The path of MIDI file, which is played as BGM while playing the score.
    pub midi_file: Option<PathBuf>,
    /// CDDA events, indexed by value. `#CDDA`
    pub cdda: Vec<BigUint>,
    /// Material WAV file paths. `#MATERIALSWAV`
    pub materials_wav: Vec<PathBuf>,
    /// Material BMP file paths. `#MATERIALSBMP`
    pub materials_bmp: Vec<PathBuf>,
    /// Material path definition. `#MATERIALS`
    pub materials_path: Option<PathBuf>,
}