2026-10-03 10:03:22 +02:00
|
|
|
use crate::{Link, TrackSegment};
|
2026-09-18 09:03:51 +02:00
|
|
|
|
2026-10-08 19:04:46 +02:00
|
|
|
use super::common::uuid_id;
|
2026-10-02 18:06:45 +02:00
|
|
|
|
2026-10-08 19:04:46 +02:00
|
|
|
uuid_id!(TrackId);
|
2026-10-02 18:06:45 +02:00
|
|
|
|
2026-10-08 18:34:19 +02:00
|
|
|
#[derive(Debug, Default, Clone)]
|
2026-09-18 09:03:51 +02:00
|
|
|
pub struct Track {
|
2026-10-02 18:06:45 +02:00
|
|
|
pub id: TrackId,
|
2026-09-18 09:03:51 +02:00
|
|
|
pub info: TrackInfo,
|
|
|
|
|
pub trkseg: Vec<TrackSegment>,
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-08 21:04:29 +02:00
|
|
|
#[derive(Debug, Default, Clone, PartialEq)]
|
2026-09-18 09:03:51 +02:00
|
|
|
pub struct TrackInfo {
|
|
|
|
|
pub name: Option<String>,
|
|
|
|
|
pub cmt: Option<String>,
|
|
|
|
|
pub desc: Option<String>,
|
|
|
|
|
pub src: Option<String>,
|
|
|
|
|
pub link: Option<Link>,
|
|
|
|
|
pub type_: Option<String>,
|
|
|
|
|
pub color: Option<String>,
|
|
|
|
|
pub opacity: Option<f64>,
|
|
|
|
|
pub width: Option<f64>,
|
|
|
|
|
}
|