onedrop_engine/
default_preset.rs1use onedrop_parser::MilkPreset;
4
5pub fn default_preset() -> MilkPreset {
12 let content = r#"[preset00]
14fRating=3.000000
15fGammaAdj=2.000000
16fDecay=0.980000
17fVideoEchoZoom=1.000000
18fVideoEchoAlpha=0.000000
19nVideoEchoOrientation=0
20nWaveMode=0
21bAdditiveWaves=0
22bWaveDots=0
23bWaveThick=0
24bModWaveAlphaByVolume=0
25bMaximizeWaveColor=1
26bTexWrap=1
27bDarkenCenter=0
28bRedBlueStereo=0
29bBrighten=0
30bDarken=0
31bSolarize=0
32bInvert=0
33fWaveAlpha=0.800000
34fWaveScale=1.000000
35fWaveSmoothing=0.750000
36fWaveParam=0.000000
37fModWaveAlphaStart=0.750000
38fModWaveAlphaEnd=0.950000
39fWarpAnimSpeed=1.000000
40fWarpScale=1.000000
41fZoomExponent=1.000000
42fShader=0.000000
43zoom=1.000000
44rot=0.000000
45cx=0.500000
46cy=0.500000
47dx=0.000000
48dy=0.000000
49warp=0.000000
50sx=1.000000
51sy=1.000000
52wave_r=0.500000
53wave_g=0.500000
54wave_b=0.500000
55wave_x=0.500000
56wave_y=0.500000
57ob_size=0.010000
58ob_r=0.000000
59ob_g=0.000000
60ob_b=0.000000
61ob_a=0.000000
62ib_size=0.010000
63ib_r=0.250000
64ib_g=0.250000
65ib_b=0.250000
66ib_a=0.000000
67nMotionVectorsX=12
68nMotionVectorsY=9
69mv_dx=0.000000
70mv_dy=0.000000
71mv_l=0.900000
72mv_r=1.000000
73mv_g=1.000000
74mv_b=1.000000
75mv_a=0.000000
76per_frame_1=wave_r = 0.5 + 0.5*sin(time*1.1);
77per_frame_2=wave_g = 0.5 + 0.5*sin(time*1.3);
78per_frame_3=wave_b = 0.5 + 0.5*sin(time*1.7);
79per_frame_4=rot = rot + 0.010*sin(time*0.381);
80per_frame_5=zoom = zoom + 0.010*sin(time*0.339);
81"#;
82
83 onedrop_parser::parse_preset(content).expect("Default preset should always parse successfully")
84}
85
86#[cfg(test)]
87mod tests {
88 use super::*;
89
90 #[test]
91 fn test_default_preset() {
92 let preset = default_preset();
93
94 assert_eq!(preset.version, 201);
96
97 assert!(!preset.per_frame_equations.is_empty());
99
100 assert!(preset.parameters.zoom > 0.0);
102 }
103}