rill_patchbay/sequencer/
snapshot.rs1use rill_core::NodeId;
2
3#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
5#[derive(Debug, Clone, PartialEq)]
6pub struct ParameterTarget {
7 pub node_id: NodeId,
9 pub param_name: String,
11 pub value: f32,
13}
14
15impl ParameterTarget {
16 pub fn new(node_id: NodeId, param_name: impl Into<String>, value: f32) -> Self {
18 Self {
19 node_id,
20 param_name: param_name.into(),
21 value,
22 }
23 }
24}
25
26#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
32#[derive(Debug, Clone)]
33pub struct Snapshot {
34 pub id: String,
36 pub parameters: Vec<ParameterTarget>,
38}
39
40impl Snapshot {
41 pub fn new(id: impl Into<String>, parameters: Vec<ParameterTarget>) -> Self {
43 Self {
44 id: id.into(),
45 parameters,
46 }
47 }
48}