···
18
18
&self,
19
19
progress: Option<&indicatif::ProgressBar>,
20
20
) -> super::sync::SyncData {
21
21
-
let mut markers: HashMap<TimestampMS, String> = HashMap::new();
21
21
+
let markers: HashMap<TimestampMS, String> = HashMap::new();
22
22
23
23
let file = File::open(&self.path)
24
24
.expect(&format!("Failed to open {:?} for CUE analysis", self.path));
···
1
1
use super::audio::Stem;
2
2
use serde::{Deserialize, Serialize};
3
3
-
use std::{collections::HashMap, iter::zip, path::PathBuf};
3
3
+
use std::{collections::HashMap, path::PathBuf};
4
4
5
5
pub type TimestampMS = usize;
6
6
···
4
4
use std::sync::{Arc, Mutex};
5
5
use std::thread::{self, JoinHandle};
6
6
use std::time;
7
7
-
use crate::context::Context;
8
7
use crate::video::engine::EngineProgression;
9
8
10
9
pub const PROGRESS_BARS_STYLE: &str =
···
1
1
-
use super::{hooks::format_duration, Video};
1
1
+
use super::Video;
2
2
use crate::rendering::svg;
3
3
use crate::ui::EngineProgressBar;
4
4
use crate::video::engine::EngineOutput;
5
5
use crate::Canvas;
6
6
use anyhow::Result;
7
7
-
use chrono::{DateTime, NaiveDateTime};
8
7
use itertools::Itertools;
9
8
use measure_time::debug_time;
10
9
use std::fs::File;
11
10
use std::io::Write;
12
11
use std::thread;
13
13
-
use std::time::Duration;
14
12
use std::{fs::create_dir_all, path::PathBuf};
15
13
16
14
impl<AdditionalContext: Default> Video<AdditionalContext> {
···
1
1
use super::{context::Context, hooks::format_duration, Video};
2
2
use crate::rendering::svg;
3
3
-
use crate::{Canvas, Object, Point, SVGRenderable};
3
3
+
use crate::{Canvas, SVGRenderable};
4
4
use anyhow::Result;
5
5
use measure_time::debug_time;
6
6
use std::sync::mpsc::SyncSender;
7
7
-
use std::sync::Arc;
8
8
-
use std::time::Duration;
9
7
10
8
/// What data is sent to the output by the rendering engine for each rendered frame
11
9
pub enum EngineOutput {