···66pub type AnimationUpdateFunction =
77 dyn Fn(f32, &mut Canvas, usize) -> anyhow::Result<()> + Send + Sync;
8899-/// An animation that only manipulates a single layer. The layer's render cache is automatically flushed at the end. See `AnimationUpdateFunction` for more information.
99+/// An animation that only manipulates a single layer. See `AnimationUpdateFunction` for more information.
1010pub type LayerAnimationUpdateFunction =
1111 dyn Fn(f32, &mut Layer, usize) -> anyhow::Result<()> + Send + Sync;
1212
···6161 .as_millis() as usize
6262 }
63636464- /// Store a automation data point. Don't forget to call .out.flush(), this one does not flush on its own!
6464+ /// Store a automation data point.
6565 pub fn store_automation(
6666 &mut self,
6767 timestamp: usize,
···7171 self.store(Datapoint::Automation(timestamp, param_id, param.value()))
7272 }
73737474- /// Store a audio data point. Don't forget to call .out.flush(), this one does not flush on its own!
7474+ /// Store a audio data point.
7575 pub fn store_audio(
7676 &mut self,
7777 timestamp: usize,
···8080 self.store(Datapoint::Audio(timestamp, samples))
8181 }
82828383- /// Store a midi data point. Don't forget to call .out.flush(), this one does not flush on its own!
8383+ /// Store a midi data point.
8484 pub fn store_midi(&mut self, timestamp: usize, data: &[u8]) -> Result<()> {
8585 self.store(Datapoint::Midi(timestamp, data.to_vec()))
8686 }
87878888- /// Store a data point. Don't forget to call .out.flush(), this one does not flush on its own!
8888+ /// Store a data point.
8989 pub fn say(&mut self, msg: impl Display) -> Result<()> {
9090 self.out
9191 .write(format!("{} say {}", self.id, msg).into())