use uuid::Uuid; use crate::{Link, TrackSegment}; #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub struct TrackId(pub Uuid); impl Default for TrackId { fn default() -> Self { Self(Uuid::new_v4()) } } #[derive(Debug, Default, Clone, PartialEq)] pub struct Track { pub id: TrackId, pub info: TrackInfo, pub trkseg: Vec, } #[derive(Debug, Default, Clone, PartialEq)] pub struct TrackInfo { pub name: Option, pub cmt: Option, pub desc: Option, pub src: Option, pub link: Option, pub type_: Option, pub color: Option, pub opacity: Option, pub width: Option, }