use super::color::Color;
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
pub struct Version {
pub major: u8,
pub minor: u8,
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord)]
pub struct Position {
pub millis: u32,
}
#[derive(Debug, Clone)]
pub struct Cue {
pub index: u8,
pub position: Position,
pub color: Color,
pub label: String,
}
#[derive(Debug, Clone)]
pub struct Loop {
pub index: u8,
pub start_position: Position,
pub end_position: Position,
pub color: Color,
pub is_locked: bool,
pub label: String,
}
#[derive(Debug, Clone)]
pub struct Flip {
pub index: u8,
pub is_enabled: bool,
pub label: String,
pub is_loop: bool,
pub actions: Vec<FlipAction>,
}
#[derive(Debug, Clone)]
pub enum FlipAction {
Censor(CensorFlipAction),
Jump(JumpFlipAction),
Unknown(UnknownFlipAction),
}
#[derive(Debug, Clone)]
pub struct CensorFlipAction {
pub start_position_seconds: f64,
pub end_position_seconds: f64,
pub speed_factor: f64,
}
#[derive(Debug, Clone)]
pub struct JumpFlipAction {
pub source_position_seconds: f64,
pub target_position_seconds: f64,
}
#[derive(Debug, Clone)]
pub struct UnknownFlipAction {
pub id: u8,
pub data: Vec<u8>,
}