Skip to main content

proteus_lib/container/play_settings/
v1.rs

1//! `play_settings.json` version 1 schema.
2
3use serde::{Deserialize, Serialize};
4
5use super::{EffectSettings, PlaySettingsContainer, SettingsTrack};
6
7/// Top-level wrapper for V1 settings files.
8#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct PlaySettingsV1File {
10    #[serde(flatten)]
11    pub settings: PlaySettingsContainer<PlaySettingsV1>,
12}
13
14/// Version 1 settings payload.
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct PlaySettingsV1 {
17    #[serde(default)]
18    pub effects: Vec<EffectSettings>,
19    #[serde(default)]
20    pub tracks: Vec<SettingsTrack>,
21}