use bincode::{Decode, Encode};
#[derive(Debug, Clone, PartialEq, Encode, Decode)]
pub struct Metadata {
pub title: String,
pub artist: String,
pub creator: String,
pub difficulty_name: String,
pub difficulty_value: Option<f32>,
pub audio_file: String,
pub background_file: Option<String>,
pub audio_offset_us: i64,
pub preview_time_us: i64,
pub preview_duration_us: i64,
pub source: Option<String>,
pub genre: Option<String>,
pub language: Option<String>,
pub tags: Vec<String>,
pub is_coop: bool,
}
impl Default for Metadata {
fn default() -> Self {
Self {
title: String::new(),
artist: String::new(),
creator: String::new(),
difficulty_name: String::from("Normal"),
difficulty_value: None,
audio_file: String::new(),
background_file: None,
audio_offset_us: 0,
preview_time_us: 0,
preview_duration_us: 15_000_000, source: None,
genre: None,
language: None,
tags: Vec::new(),
is_coop: false,
}
}
}