exchange tast to tactilea

This commit is contained in:
lennlouisgeek
2026-04-03 00:47:36 +08:00
parent a686d19e61
commit 7688986ad7
15 changed files with 1842 additions and 147 deletions

View File

@@ -1,8 +1,3 @@
use std::fs::{write, File};
use std::io;
use anyhow::{Result, anyhow};
use csv::Reader;
#[derive(Clone)]
pub struct FrameTiming {
pub pts_ms: Option<u64>,
@@ -38,20 +33,17 @@ pub trait CsvImporter<P> {
fn load<R: std::io::Read>(&mut self, reader: R) -> anyhow::Result<Vec<P>>;
}
pub fn write_csv<F, E>(
pub fn write_csv<F, E, W>(
recording: &Recording<F>,
exporter: &E,
path: &str
// mut writer: W,
writer: W,
) -> anyhow::Result<()>
where
E: CsvExporter<F>,
// W: std::io::Write
W: std::io::Write,
{
let header = exporter.csv_header(&recording);
// let mut wrt = csv::Writer::from_writer(io::stdout());
let mut wrt = csv::Writer::from_path(format!("{}.csv", path))?;
let mut wrt = csv::Writer::from_writer(writer);
wrt.write_record(header)?;
for f in &recording.frames {
let row = exporter.csv_row(f)?;