diff --git a/Jellyfin.Plugin.Seasonals/Configuration/PluginConfiguration.cs b/Jellyfin.Plugin.Seasonals/Configuration/PluginConfiguration.cs index 8aa94f4..ec96f2c 100644 --- a/Jellyfin.Plugin.Seasonals/Configuration/PluginConfiguration.cs +++ b/Jellyfin.Plugin.Seasonals/Configuration/PluginConfiguration.cs @@ -18,40 +18,40 @@ public class PluginConfiguration : BasePluginConfiguration EnableClientSideToggle = true; Autumn = new AutumnOptions(); - Snowflakes = new SnowflakesOptions(); - Snowfall = new SnowfallOptions(); - Snowstorm = new SnowstormOptions(); + Birthday = new BirthdayOptions(); + Carnival = new CarnivalOptions(); + CherryBlossom = new CherryBlossomOptions(); + Christmas = new ChristmasOptions(); + EarthDay = new EarthDayOptions(); + Easter = new EasterOptions(); + Eid = new EidOptions(); + Eurovision = new EurovisionOptions(); + FilmNoir = new FilmNoirOptions(); Fireworks = new FireworksOptions(); + Friday13 = new Friday13Options(); + Frost = new FrostOptions(); Halloween = new HalloweenOptions(); Hearts = new HeartsOptions(); - Christmas = new ChristmasOptions(); - Santa = new SantaOptions(); - Easter = new EasterOptions(); - Resurrection = new ResurrectionOptions(); - Spring = new SpringOptions(); - Summer = new SummerOptions(); - CherryBlossom = new CherryBlossomOptions(); - Carnival = new CarnivalOptions(); - Matrix = new MatrixOptions(); - Eurovision = new EurovisionOptions(); - Storm = new StormOptions(); - Pride = new PrideOptions(); - EarthDay = new EarthDayOptions(); - Rain = new RainOptions(); - Frost = new FrostOptions(); - FilmNoir = new FilmNoirOptions(); - Oscar = new OscarOptions(); MarioDay = new MarioDayOptions(); - StarWars = new StarWarsOptions(); + Matrix = new MatrixOptions(); Oktoberfest = new OktoberfestOptions(); - Friday13 = new Friday13Options(); - Eid = new EidOptions(); + Olympia = new OlympiaOptions(); + Oscar = new OscarOptions(); + Rain = new RainOptions(); + Pride = new PrideOptions(); + Resurrection = new ResurrectionOptions(); + Santa = new SantaOptions(); + Snowfall = new SnowfallOptions(); + Snowflakes = new SnowflakesOptions(); + Snowstorm = new SnowstormOptions(); + Space = new SpaceOptions(); Spooky = new SpookyOptions(); Sports = new SportsOptions(); - Olympia = new OlympiaOptions(); - Space = new SpaceOptions(); + Spring = new SpringOptions(); + StarWars = new StarWarsOptions(); + Storm = new StormOptions(); + Summer = new SummerOptions(); Underwater = new UnderwaterOptions(); - Birthday = new BirthdayOptions(); } /// @@ -83,44 +83,43 @@ public class PluginConfiguration : BasePluginConfiguration /// Gets or sets the Seasonals options. /// public AutumnOptions Autumn { get; set; } - public SnowflakesOptions Snowflakes { get; set; } - public SnowfallOptions Snowfall { get; set; } - public SnowstormOptions Snowstorm { get; set; } + public BirthdayOptions Birthday { get; set; } + public CarnivalOptions Carnival { get; set; } + public CherryBlossomOptions CherryBlossom { get; set; } + public ChristmasOptions Christmas { get; set; } + public EarthDayOptions EarthDay { get; set; } + public EasterOptions Easter { get; set; } + public EidOptions Eid { get; set; } + public EurovisionOptions Eurovision { get; set; } + public FilmNoirOptions FilmNoir { get; set; } public FireworksOptions Fireworks { get; set; } + public Friday13Options Friday13 { get; set; } + public FrostOptions Frost { get; set; } public HalloweenOptions Halloween { get; set; } public HeartsOptions Hearts { get; set; } - public ChristmasOptions Christmas { get; set; } - public SantaOptions Santa { get; set; } - public EasterOptions Easter { get; set; } - public ResurrectionOptions Resurrection { get; set; } - public SpringOptions Spring { get; set; } - public SummerOptions Summer { get; set; } - public CherryBlossomOptions CherryBlossom { get; set; } - public CarnivalOptions Carnival { get; set; } - public MatrixOptions Matrix { get; set; } - public EurovisionOptions Eurovision { get; set; } - public StormOptions Storm { get; set; } - public PrideOptions Pride { get; set; } - public EarthDayOptions EarthDay { get; set; } - public RainOptions Rain { get; set; } - public FrostOptions Frost { get; set; } - public FilmNoirOptions FilmNoir { get; set; } - public OscarOptions Oscar { get; set; } public MarioDayOptions MarioDay { get; set; } - public StarWarsOptions StarWars { get; set; } + public MatrixOptions Matrix { get; set; } public OktoberfestOptions Oktoberfest { get; set; } - public Friday13Options Friday13 { get; set; } - public EidOptions Eid { get; set; } + public OlympiaOptions Olympia { get; set; } + public OscarOptions Oscar { get; set; } + public PrideOptions Pride { get; set; } + public RainOptions Rain { get; set; } + public ResurrectionOptions Resurrection { get; set; } + public SantaOptions Santa { get; set; } + public SnowfallOptions Snowfall { get; set; } + public SnowflakesOptions Snowflakes { get; set; } + public SnowstormOptions Snowstorm { get; set; } + public SpaceOptions Space { get; set; } public SpookyOptions Spooky { get; set; } public SportsOptions Sports { get; set; } - public OlympiaOptions Olympia { get; set; } - public SpaceOptions Space { get; set; } + public SpringOptions Spring { get; set; } + public StarWarsOptions StarWars { get; set; } + public StormOptions Storm { get; set; } + public SummerOptions Summer { get; set; } public UnderwaterOptions Underwater { get; set; } - public BirthdayOptions Birthday { get; set; } } -public class AutumnOptions -{ +public class AutumnOptions { public int LeafCount { get; set; } = 25; public bool EnableAutumn { get; set; } = true; public bool EnableRandomLeaves { get; set; } = true; @@ -129,250 +128,205 @@ public class AutumnOptions public bool EnableRotation { get; set; } = false; } -public class SnowflakesOptions -{ - public int SnowflakeCount { get; set; } = 25; - public bool EnableSnowflakes { get; set; } = true; - public bool EnableRandomSnowflakes { get; set; } = true; - public bool EnableRandomSnowflakesMobile { get; set; } = false; - public bool EnableColoredSnowflakes { get; set; } = true; +public class BirthdayOptions { + public bool EnableBirthday { get; set; } = true; + public int SymbolCount { get; set; } = 12; + public int SymbolCountMobile { get; set; } = 5; + public bool EnableDifferentDuration { get; set; } = true; + public int ConfettiCount { get; set; } = 60; +} + +public class CarnivalOptions { + public bool EnableCarnival { get; set; } = true; + public bool EnableRandomCarnival { get; set; } = true; + public bool EnableRandomCarnivalMobile { get; set; } = false; + public bool EnableDifferentDuration { get; set; } = true; + public bool EnableCarnivalSway { get; set; } = true; + public int ObjectCount { get; set; } = 120; +} + +public class CherryBlossomOptions { + public bool EnableCherryBlossom { get; set; } = true; + public int PetalCount { get; set; } = 25; + public bool EnableRandomCherryBlossom { get; set; } = true; + public bool EnableRandomCherryBlossomMobile { get; set; } = false; public bool EnableDifferentDuration { get; set; } = true; } -public class SnowfallOptions -{ - public int SnowflakesCount { get; set; } = 500; - public int SnowflakesCountMobile { get; set; } = 250; - public double Speed { get; set; } = 3; - public bool EnableSnowfall { get; set; } = true; +public class ChristmasOptions { + public bool EnableChristmas { get; set; } = true; + public bool EnableRandomChristmas { get; set; } = true; + public bool EnableRandomChristmasMobile { get; set; } = false; + public bool EnableDifferentDuration { get; set; } = true; + public int SymbolCount { get; set; } = 25; } -public class SnowstormOptions -{ - public int SnowflakesCount { get; set; } = 500; - public int SnowflakesCountMobile { get; set; } = 250; - public double Speed { get; set; } = 6; - public bool EnableSnowstorm { get; set; } = true; - public double HorizontalWind { get; set; } = 4; - public double VerticalVariation { get; set; } = 2; +public class EarthDayOptions { + public bool EnableEarthDay { get; set; } = true; + public int VineCount { get; set; } = 4; } -public class FireworksOptions -{ - public int ParticleCount { get; set; } = 50; - public int LaunchInterval { get; set; } = 3200; +public class EasterOptions { + public bool EnableEaster { get; set; } = true; + public bool EnableBunny { get; set; } = true; + public int MinBunnyRestTime { get; set; } = 2000; + public int MaxBunnyRestTime { get; set; } = 5000; + public int EggCount { get; set; } = 15; +} + +public class EidOptions { + public bool EnableEid { get; set; } = true; + public int LanternCount { get; set; } = 8; + public int LanternCountMobile { get; set; } = 3; +} + +public class EurovisionOptions { + public bool EnableEurovision { get; set; } = true; + public int SymbolCount { get; set; } = 25; + public bool EnableDifferentDuration { get; set; } = true; + public bool EnableColorfulNotes { get; set; } = true; + public string EurovisionColors { get; set; } = "#ff0026ff,#17a6ffff,#32d432ff,#FFD700,#f0821bff,#f826f8ff"; + public int EurovisionGlowSize { get; set; } = 2; +} + +public class FilmNoirOptions { + public bool EnableFilmNoir { get; set; } = true; +} + +public class FireworksOptions { public bool EnableFireworks { get; set; } = true; public bool ScrollFireworks { get; set; } = true; + public int ParticleCount { get; set; } = 50; public int MinFireworks { get; set; } = 3; public int MaxFireworks { get; set; } = 6; + public int LaunchInterval { get; set; } = 3200; } -public class HalloweenOptions -{ - public int SymbolCount { get; set; } = 25; +public class Friday13Options { + public bool EnableFriday13 { get; set; } = true; +} + +public class FrostOptions { + public bool EnableFrost { get; set; } = true; +} + +public class HalloweenOptions { public bool EnableHalloween { get; set; } = true; public bool EnableRandomSymbols { get; set; } = true; public bool EnableRandomSymbolsMobile { get; set; } = false; public bool EnableDifferentDuration { get; set; } = true; public bool EnableSpiders { get; set; } = true; public bool EnableMice { get; set; } = true; + public int SymbolCount { get; set; } = 25; } -public class HeartsOptions -{ - public int SymbolCount { get; set; } = 25; +public class HeartsOptions { public bool EnableHearts { get; set; } = true; public bool EnableRandomSymbols { get; set; } = true; public bool EnableRandomSymbolsMobile { get; set; } = false; public bool EnableDifferentDuration { get; set; } = true; + public int SymbolCount { get; set; } = 25; } -public class ChristmasOptions -{ +public class MarioDayOptions { + public bool EnableMarioDay { get; set; } = true; + public bool LetMarioJump { get; set; } = true; +} + +public class MatrixOptions { + public bool EnableMatrix { get; set; } = true; public int SymbolCount { get; set; } = 25; - public bool EnableChristmas { get; set; } = true; - public bool EnableRandomChristmas { get; set; } = true; - public bool EnableRandomChristmasMobile { get; set; } = false; + public bool EnableMatrixBackground { get; set; } = false; + public string MatrixChars { get; set; } = "0123456789"; +} + +public class OktoberfestOptions { + public bool EnableOktoberfest { get; set; } = true; +} + +public class OlympiaOptions { + public bool EnableOlympia { get; set; } = true; + public int SymbolCount { get; set; } = 25; + public bool SymbolCountMobile { get; set; } = 10; public bool EnableDifferentDuration { get; set; } = true; } -public class SantaOptions -{ +public class OscarOptions { + public bool EnableOscar { get; set; } = true; +} + +public class PrideOptions { + public bool EnablePride { get; set; } = true; + public int HeartCount { get; set; } = 20; + public int HeartSize { get; set; } = 1.5; + public bool ColorHeader { get; set; } = true; +} + +public class RainOptions { + public bool EnableRain { get; set; } = true; + public int RaindropCount { get; set; } = 300; + public int RaindropCountMobile { get; set; } = 150; + public double RainSpeed { get; set; } = 1.0; +} + +public class ResurrectionOptions { + public bool EnableResurrection { get; set; } = true; + public bool EnableRandomSymbols { get; set; } = true; + public bool EnableRandomSymbolsMobile { get; set; } = false; + public bool EnableDifferentDuration { get; set; } = true; + public int SymbolCount { get; set; } = 12; +} + +public class SantaOptions { + public bool EnableSanta { get; set; } = true; public int SnowflakesCount { get; set; } = 500; public int SnowflakesCountMobile { get; set; } = 250; + public double SnowFallSpeed { get; set; } = 3; public double SantaSpeed { get; set; } = 10; public double SantaSpeedMobile { get; set; } = 8; - public bool EnableSanta { get; set; } = true; - public double SnowFallSpeed { get; set; } = 3; public double MaxSantaRestTime { get; set; } = 8; public double MinSantaRestTime { get; set; } = 3; public double MaxPresentFallSpeed { get; set; } = 5; public double MinPresentFallSpeed { get; set; } = 2; } -public class EasterOptions -{ - public int EggCount { get; set; } = 20; - public bool EnableEaster { get; set; } = true; - public bool EnableRandomEaster { get; set; } = true; - public bool EnableRandomEasterMobile { get; set; } = false; - public bool EnableDifferentDuration { get; set; } = true; - public bool EnableBunny { get; set; } = true; - public int BunnyDuration { get; set; } = 12000; - public int HopHeight { get; set; } = 12; - public int MinBunnyRestTime { get; set; } = 2000; - public int MaxBunnyRestTime { get; set; } = 5000; +public class SnowfallOptions { + public bool EnableSnowfall { get; set; } = true; + public int SnowflakesCount { get; set; } = 500; + public int SnowflakesCountMobile { get; set; } = 250; + public double Speed { get; set; } = 3; } -public class ResurrectionOptions -{ - public int SymbolCount { get; set; } = 12; - public bool EnableResurrection { get; set; } = true; - public bool EnableRandomSymbols { get; set; } = true; - public bool EnableRandomSymbolsMobile { get; set; } = false; +public class SnowflakesOptions { + public bool EnableSnowflakes { get; set; } = true; + public int SnowflakeCount { get; set; } = 25; + public bool EnableRandomSnowflakes { get; set; } = true; + public bool EnableRandomSnowflakesMobile { get; set; } = false; + public bool EnableColoredSnowflakes { get; set; } = true; public bool EnableDifferentDuration { get; set; } = true; } -public class SpringOptions -{ - public int PollenCount { get; set; } = 30; - public int SunbeamCount { get; set; } = 5; - public int BirdCount { get; set; } = 4; - public int ButterflyCount { get; set; } = 4; - public int BeeCount { get; set; } = 2; - public int LadybugCount { get; set; } = 2; - public bool EnableSpring { get; set; } = true; - public bool EnableSpringSunbeams { get; set; } = true; - public bool EnableRandomSpring { get; set; } = true; - public bool EnableRandomSpringMobile { get; set; } = false; +public class SnowstormOptions { + public bool EnableSnowstorm { get; set; } = true; + public int SnowflakesCount { get; set; } = 500; + public int SnowflakesCountMobile { get; set; } = 250; + public double Speed { get; set; } = 6; + public double HorizontalWind { get; set; } = 4; + public double VerticalVariation { get; set; } = 2; +} + +public class SpaceOptions { + public bool EnableSpace { get; set; } = true; + public int PlanetCount { get; set; } = 6; + public int AstronautCount { get; set; } = 1; + public int SatelliteCount { get; set; } = 4; + public int IssCount { get; set; } = 1; + public int RocketCount { get; set; } = 1; public bool EnableDifferentDuration { get; set; } = true; + public bool SymbolCountMobile { get; set; } = 2; } -public class SummerOptions -{ - public int BubbleCount { get; set; } = 20; - public int DustCount { get; set; } = 50; - public bool EnableSummer { get; set; } = true; - public bool EnableRandomSummer { get; set; } = true; - public bool EnableRandomSummerMobile { get; set; } = false; - public bool EnableDifferentDuration { get; set; } = true; -} - -public class CarnivalOptions -{ - public int ObjectCount { get; set; } = 25; - public bool EnableCarnival { get; set; } = true; - public bool EnableRandomCarnival { get; set; } = true; - public bool EnableRandomCarnivalMobile { get; set; } = false; - public bool EnableDifferentDuration { get; set; } = true; - public bool EnableCarnivalSway { get; set; } = true; -} - -public class CherryBlossomOptions -{ - public int PetalCount { get; set; } = 25; - public bool EnableCherryBlossom { get; set; } = true; - public bool EnableRandomCherryBlossom { get; set; } = true; - public bool EnableRandomCherryBlossomMobile { get; set; } = false; - public bool EnableDifferentDuration { get; set; } = true; -} - -public class MatrixOptions -{ - public int SymbolCount { get; set; } = 25; - public bool EnableMatrix { get; set; } = true; - public bool EnableRandomMatrix { get; set; } = true; - public bool EnableRandomMatrixMobile { get; set; } = false; - public bool EnableDifferentDuration { get; set; } = true; - public bool EnableMatrixBackground { get; set; } = false; - public string MatrixChars { get; set; } = "0123456789"; -} - -public class EurovisionOptions -{ - public int SymbolCount { get; set; } = 25; - public bool EnableEurovision { get; set; } = true; - public bool EnableRandomEurovision { get; set; } = true; - public bool EnableRandomEurovisionMobile { get; set; } = false; - public bool EnableDifferentDuration { get; set; } = true; - public bool EnableColorfulNotes { get; set; } = true; - public string EurovisionColors { get; set; } = "#ff0026ff,#17a6ffff,#32d432ff,#FFD700,#f0821bff,#f826f8ff"; - public int EurovisionGlowSize { get; set; } = 8; -} - -public class StormOptions -{ - public int RaindropCount { get; set; } = 300; - public int RaindropCountMobile { get; set; } = 150; - public bool EnableStorm { get; set; } = true; - public bool EnableLightning { get; set; } = true; - public double RainSpeed { get; set; } = 1; -} - -public class PrideOptions -{ - public bool EnablePride { get; set; } = true; - public int HeartCount { get; set; } = 20; - public int HeartSize { get; set; } = 2; - public bool ColorHeader { get; set; } = true; -} - -public class EarthDayOptions -{ - public bool EnableEarthDay { get; set; } = true; - public int VineCount { get; set; } = 4; -} - -public class RainOptions -{ - public bool EnableRain { get; set; } = true; - public int RaindropCount { get; set; } = 300; - public int RaindropCountMobile { get; set; } = 150; - public double RainSpeed { get; set; } = 1; -} - -public class FrostOptions -{ - public bool EnableFrost { get; set; } = true; -} - -public class FilmNoirOptions -{ - public bool EnableFilmNoir { get; set; } = true; -} - -public class OscarOptions -{ - public bool EnableOscar { get; set; } = true; -} - -public class MarioDayOptions -{ - public bool EnableMarioDay { get; set; } = true; -} - -public class StarWarsOptions -{ - public bool EnableStarWars { get; set; } = true; -} - -public class OktoberfestOptions -{ - public bool EnableOktoberfest { get; set; } = true; -} - -public class Friday13Options -{ - public bool EnableFriday13 { get; set; } = true; -} - -public class EidOptions -{ - public bool EnableEid { get; set; } = true; -} - -public class SpookyOptions -{ +public class SpookyOptions { public bool EnableSpooky { get; set; } = true; public int SymbolCount { get; set; } = 25; public bool EnableDifferentDuration { get; set; } = true; @@ -381,49 +335,54 @@ public class SpookyOptions public int SpookyGlowSize { get; set; } = 2; } -public class SportsOptions -{ - public int SymbolCount { get; set; } = 5; +public class SportsOptions { public bool EnableSports { get; set; } = true; - public bool EnableRandomSymbols { get; set; } = true; - public bool EnableRandomSymbolsMobile { get; set; } = false; + public int SymbolCount { get; set; } = 5; public bool EnableDifferentDuration { get; set; } = true; public string TurfColor { get; set; } = "#228b22"; public string SportsBalls { get; set; } = "football,basketball,tennis,volleyball"; public bool EnableTrophy { get; set; } = false; + public string ConfettiColors { get; set; } = "#000000,#FF0000,#FFCC00"; } -public class OlympiaOptions -{ - public int SymbolCount { get; set; } = 25; - public bool EnableOlympia { get; set; } = true; - public bool EnableRandomSymbols { get; set; } = true; - public bool EnableRandomSymbolsMobile { get; set; } = false; +public class SpringOptions { + public bool EnableSpring { get; set; } = true; + public int PollenCount { get; set; } = 30; + public bool EnableSpringSunbeams { get; set; } = true; + public int SunbeamCount { get; set; } = 5; + public int BirdCount { get; set; } = 3; + public int ButterflyCount { get; set; } = 4; + public int BeeCount { get; set; } = 2; + public int LadybugCount { get; set; } = 2; + public bool SymbolCountMobile { get; set; } = 2; +} + +public class StarWarsOptions { + public bool EnableStarWars { get; set; } = true; +} + +public class StormOptions { + public bool EnableStorm { get; set; } = true; + public int RaindropCount { get; set; } = 300; + public int RaindropCountMobile { get; set; } = 150; + public bool EnableLightning { get; set; } = true; + public double RainSpeed { get; set; } = 1.0; +} + +public class SummerOptions { + public bool EnableSummer { get; set; } = true; + public int BubbleCount { get; set; } = 30; + public int DustCount { get; set; } = 50; + public bool SymbolCountMobile { get; set; } = 2; public bool EnableDifferentDuration { get; set; } = true; } -public class SpaceOptions -{ - public int PlanetCount { get; set; } = 12; - public int AstronautCount { get; set; } = 5; - public int SatelliteCount { get; set; } = 2; - public int IssCount { get; set; } = 1; - public int RocketCount { get; set; } = 1; - public bool EnableSpace { get; set; } = true; - public bool EnableRandomSymbols { get; set; } = true; - public bool EnableRandomSymbolsMobile { get; set; } = false; - public bool EnableDifferentDuration { get; set; } = true; -} - -public class UnderwaterOptions -{ - public int SymbolCount { get; set; } = 15; +public class UnderwaterOptions { public bool EnableUnderwater { get; set; } = true; - public bool EnableRandomSymbols { get; set; } = true; - public bool EnableRandomSymbolsMobile { get; set; } = false; + public bool SymbolCountMobile { get; set; } = 2; public bool EnableDifferentDuration { get; set; } = true; public bool EnableLightRays { get; set; } = true; - public int SeaweedCount { get; set; } = 30; + public int SeaweedCount { get; set; } = 50; public int CrabCount { get; set; } = 2; public int StarfishCount { get; set; } = 2; public int ShellCount { get; set; } = 2; @@ -431,15 +390,4 @@ public class UnderwaterOptions public int SeahorseCount { get; set; } = 3; public int JellyfishCount { get; set; } = 3; public int TurtleCount { get; set; } = 1; -} - -public class BirthdayOptions -{ - public int SymbolCount { get; set; } = 5; - public int ConfettiCount { get; set; } = 60; - public bool EnableBirthday { get; set; } = true; - public bool EnableRandomSymbols { get; set; } = true; - public bool EnableRandomSymbolsMobile { get; set; } = false; - public bool EnableDifferentDuration { get; set; } = true; - public bool EnableGarland { get; set; } = true; -} +} \ No newline at end of file