use rsubs_lib::{SRT, SSA, VTT}; const SRT: &str = "1 00:00:11,000 --> 00:00:13,000 We are in New York City 2 00:00:13,000 --> 00:00:16,000 We’re actually at the Lucern Hotel, just down the street 3 00:00:16,000 --> 00:00:18,000 from the American Museum of Natural History 4 00:00:18,000 --> 00:00:20,000 And with me is Neil deGrasse Tyson 5 00:00:20,000 --> 00:00:22,000 Astrophysicist, Director of the Hayden Planetarium 6 00:00:22,000 --> 00:00:24,000 at the AMNH. 7 00:00:24,000 --> 00:00:26,000 Thank you for walking down here. 8 00:00:27,000 --> 00:00:30,000 And I want to do a follow-up on the last conversation we did. 9 00:00:30,000 --> 00:00:31,500 When we e-mailed— 10 00:00:30,500 --> 00:00:32,500 Didn’t we talk about enough in that conversation? Didn’t we talk about enough in that conversation? Didn’t we talk about enough in that conversation? 11 00:00:32,000 --> 00:00:35,500 No! No no no no; 'cos 'cos obviously 'cos 12 00:00:32,500 --> 00:00:33,500 Laughs 13 00:00:35,500 --> 00:00:38,000 You know I’m so excited my glasses are falling off here."; const SSA: &str = r#"[Script Info] Collisions: Normal Synch Point: PlayResX: 640 WrapStyle: 0 ScriptType: V4.00+ Title: subtitle PlayResY: 480 [V4+ Styles] Format: Name,Fontname,Fontsize,PrimaryColour,SecondaryColour,OutlineColour,BackColour,Bold,Italic,Underline,Strikeout,ScaleX,ScaleY,Spacing,Angle,BorderStyle,Outline,Shadow,Alignment,MarginL,MarginR,MarginV,Encoding Style: Default,Arial,25.5,&H00FFFFFF,&H00000000,&H00000000,&H00000000,-1,0,0,0,120,120,0,0,1,1,1,2,0000,0000,0030,0 Style: De2,Trebuchet MS,25.5,&H00FFFFFF,&H00000000,&H00000000,&H00000000,-1,0,0,0,120,120,0,0,1,1,1,2,0000,0000,0030,0 Style: De4,Trebuchet MS,25.5,&H00FFFFFF,&H00000000,&H00000000,&H00000000,-1,0,0,0,120,120,0,0,1,1,1,2,0000,0000,0030,0 [Events] Format: Layer,Start,End,Style,Name,MarginL,MarginR,MarginV,Effect,Text Dialogue: 0,0:00:00.20,0:00:02.20,Default,,0000,0000,0000,,{\i1}Lorem Ipsum1{\i0} Dialogue: 0,0:00:02.20,0:00:04.20,Default,,0000,0000,0000,,{\c1}Lorem Ipsum2{\c0} Dialogue: 0,0:00:06.20,0:00:08.20,Default,,0000,0000,0000,,Lorem Ipsum3 Dialogue: 0,0:00:08.20,0:00:10.20,Default,,0000,0000,0000,,Lorem Ipsum4 Dialogue: 0,0:00:12.20,0:00:14.20,Default,,0000,0000,0000,,Lorem Ipsum5 Dialogue: 0,0:00:14.20,0:00:16.20,Default,,0000,0000,0000,,Lorem Ipsum6"#; const VTT: &str = r#"WEBVTT NOTE This is safe STYLE ::cue(Default){ color: #ffffff; font-family: "Arial", sans-serif; font-size: 12px; } STYLE ::cue(Default2){ color: #ffffff; font-family: "Arial", sans-serif; background-color: #00000000; font-size: 020px; text-shadow: #000000ff -2px 0px 2px, #000000ff 0px 2px 2px, #000000ff 0px -2px 2px, #000000ff 2px 0px 2px; } STYLE ::cue{ color: #ffffff; font-family: "Arial", sans-serif; } 00:11.000 --> 00:13.000 We are in New York City 00:13.000 --> 00:16.000 We’re actually at the Lucern Hotel, just down the street 00:16.000 --> 00:18.000 from the American Museum of Natural History 00:18.000 --> 00:20.000 And with me is Neil deGrasse Tyson 00:20.000 --> 00:22.000 Astrophysicist, Director of the Hayden Planetarium aa 00:22.000 --> 00:24.000 at the AMNH. 00:24.000 --> 00:26.000 Thank you for walking down here. 00:27.000 --> 00:30.000 And I want to do a follow-up on the last conversation we did. 00:30.000 --> 00:31.500 position:30% left align:right size:50% line:12 When we e-mailed— 00:30.500 --> 00:32.500 align:left size:50% position:030% Didn’t we talk about enough in that conversation? Didn’t we talk about enough in that conversation? Didn’t we talk about enough in that conversation? 00:32.000 --> 00:35.500 align:right size:50% No! No no no no; 'cos 'cos obviously 'cos 00:32.500 --> 00:33.500 align:left size:50% Laughs 00:35.500 --> 00:38.000 You know I’m so excited my glasses are falling off here."#; fn main() -> Result<(), Box> { let srt = SRT::parse(SRT)?; println!("\n\nSRT as VTT:\n{}", srt.to_vtt()); let vtt = VTT::parse(VTT)?; println!("\n\nVTT as SSA:\n{}", vtt.to_ssa()); let ssa = SSA::parse(SSA)?; println!("\n\nSSA as SRT:\n{}", ssa.to_srt()); Ok(()) }