shapemaker 1.1.1

An experimental WASM-capable, generative SVG-based video rendering engine that reacts to MIDI or audio data
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use super::audio::Stem;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;

pub type TimestampMS = usize;

pub trait Syncable {
    fn new(path: &str) -> Self;
    fn load(&self, progress: Option<&indicatif::ProgressBar>) -> SyncData;
}

#[derive(Debug, Default, Serialize, Deserialize)]
pub struct SyncData {
    pub stems: HashMap<String, Stem>,
    pub markers: HashMap<TimestampMS, String>,
    pub bpm: usize,
}