Skip to main content

proteus_lib/container/play_settings/
legacy.rs

1//! Legacy `play_settings.json` schema (pre-versioned).
2
3use serde::{Deserialize, Serialize};
4
5use super::PlaySettingsContainer;
6
7/// Top-level wrapper for legacy settings files.
8#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct PlaySettingsLegacyFile {
10    #[serde(flatten)]
11    pub settings: PlaySettingsContainer<PlaySettingsLegacy>,
12}
13
14/// Legacy settings payload (tracks only).
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct PlaySettingsLegacy {
17    #[serde(default)]
18    pub tracks: Vec<PlaySettingsTrackLegacy>,
19}
20
21/// Legacy per-track settings.
22#[derive(Debug, Clone, Serialize, Deserialize)]
23pub struct PlaySettingsTrackLegacy {
24    #[serde(rename = "startingIndex")]
25    pub starting_index: Option<u32>,
26    pub length: Option<u32>,
27}