selene-core 0.9.0-rc.1

Backend for selene-server
Documentation
use std::path::PathBuf;

use crate::{
    library::{loudnorm::LoudnormAnalysis, track::track_meta::TrackMeta},
    media::MediaContainer,
};
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};

mod core_impls;
mod database_impls;
mod server_impls;

pub mod track_meta;

/// Track root. Defines file info, container info, metadata info
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct Track {
    pub file: PathBuf,
    pub container: MediaContainer,
    pub metadata: TrackMeta,
    pub loudnorm_analysis: Option<LoudnormAnalysis>,
    pub added_at: DateTime<Utc>,
}

impl Track {
    pub const UNKNOWN: &str = "UNKNOWN TITLE";
}