dawproject_rs/api/timeline_mods/
warp.rs1#![allow(unused)]
2
3use {
4 super::super::fake_rng,
5 fake::{Dummy, Fake, Faker},
6 serde::{Deserialize, Serialize},
7};
8#[derive(Debug, Deserialize, Serialize, Clone, Dummy)]
9#[serde(rename_all = "lowercase")]
10enum WarpSequenceEnum {
11 Time(f64),
12 ContentTime(f64),
13}
14
15#[derive(Debug, Deserialize, Serialize, Clone, Dummy)]
16pub struct Warp {
17 #[serde(rename = "@time")]
18 time: f64,
19 #[serde(rename = "@contentTime")]
20 content_time: f64,
21}
22
23impl Warp {
24 pub fn new_test(time: f64, content_time: f64) -> Self {
25 Self { time, content_time }
26 }
27
28 pub fn new_fake() -> Self {
29 let o: Self = Faker.fake_with_rng(&mut fake_rng());
30 o
31 }
32}
33
34#[cfg(test)]
35mod tests {
36 use {super::Warp, quick_xml::se::to_string, std::error::Error};
37
38 #[test]
39 pub fn se_test() -> Result<(), Box<dyn Error>> {
40 let mut o = Warp::new_test(1.0, 1.0);
41
42 match to_string(&o) {
43 Ok(o) => println!("{}", o),
44 Err(err) => return Err(err.into()),
45 }
46
47 Ok(())
48 }
49}