Beispiel #1
0
        public VerticalMeterData()
        {
            Inverted = false;
            DecayTime = 1500;
            AttackTime = 50;
            Normalize = true;
            Gain = 0;
            Range = 10;
            RedColorPosition = 95;
            GreenColorPosition = 25;
            MeterColorStyle = MeterColorTypes.Linear;

            LowPass = false;
            LowPassFreq = 100;
            HighPass = false;
            HighPassFreq = 500;

            Color[] myColors = { Color.Lime, Color.Yellow, Color.Red };
            float[] myPositions = { 0, (float)GreenColorPosition / 100, (float)RedColorPosition / 100 };
            ColorBlend linearBlend = new ColorBlend();
            linearBlend.Colors = myColors;
            linearBlend.Positions = myPositions;

            ColorGradient linearGradient = new ColorGradient(linearBlend);

            IntensityCurve = new Curve();
            IntensityCurve.Points.Clear();
            IntensityCurve.Points.Add(new ZedGraph.PointPair(0, 100));
            IntensityCurve.Points.Add(new ZedGraph.PointPair(100, 100));

            MeterColorGradient = linearGradient;

            DepthOfEffect = 0;
        }
Beispiel #2
0
        public VUMeterData()
        {
            DecayTime = 1500;
            AttackTime = 50;
            Normalize = true;
            Gain = 0;
            Range = 10;
            RedColorPosition = 95;
            GreenColorPosition = 25;
            MeterColorStyle = MeterColorTypes.Custom;

            LowPass = false;
            LowPassFreq = 100;
            HighPass = false;
            HighPassFreq = 500;

            IntensityCurve = new Curve();
            IntensityCurve.Points.Clear();
            IntensityCurve.Points.Add(new ZedGraph.PointPair(0, 0));
            IntensityCurve.Points.Add(new ZedGraph.PointPair(100, 100));

            ColorGradient linearGradient = new ColorGradient(Color.White);
            MeterColorGradient = linearGradient;

            DepthOfEffect = 0;
        }
Beispiel #3
0
 public FireworksData()
 {
     ColorGradients = new List<ColorGradient> { new ColorGradient(Color.Red), new ColorGradient(Color.Lime), new ColorGradient(Color.Blue) };
     Explosions = 10;
     RandomVelocity = false;
     Velocity = 5;
     MinVelocity = 1;
     MaxVelocity = 10;
     RandomParticles = true;
     Particles = 40;
     MinParticles = 10;
     MaxParticles = 50;
     ColorType = FireworksColorType.Standard;
     ParticleFade = 50;
     LevelCurve = new Curve(CurveType.Flat100);
     ExplosionSensitivity = 5;
     Sensitivity = -70;
     LowPass = false;
     LowPassFreq = 1000;
     HighPass = false;
     HighPassFreq = 500;
     Normalize = true;
     DecayTime = 1500;
     AttackTime = 52;
     EnableAudio = false;
     Gain = 0;
 }
Beispiel #4
0
        // renders the given node to the internal ElementData dictionary. If the given node is
        // not a element, will recursively descend until we render its elements.
        public static EffectIntents RenderNode(ElementNode node, Curve levelCurve, ColorGradient colorGradient, TimeSpan duration, bool isDiscrete, bool allowZeroIntensity = false)
        {
            //Collect all the points first.
            double[] allPointsTimeOrdered = _GetAllSignificantDataPoints(levelCurve, colorGradient).ToArray();
            var elementData = new EffectIntents();
            foreach (ElementNode elementNode in node.GetLeafEnumerator())
            {
                // this is probably always going to be a single element for the given node, as
                // we have iterated down to leaf nodes in RenderNode() above. May as well do
                // it this way, though, in case something changes in future.
                if (elementNode == null || elementNode.Element == null)
                    continue;

                //ElementColorType colorType = ColorModule.getColorTypeForElementNode(elementNode);

                if (isDiscrete && IsElementDiscrete(node))
                {
                    IEnumerable<Color> colors = ColorModule.getValidColorsForElementNode(elementNode, false)
                         .Intersect(colorGradient.GetColorsInGradient());
                    foreach (Color color in colors)
                    {
                        AddIntentsToElement(elementNode.Element, allPointsTimeOrdered, levelCurve, colorGradient, duration, elementData, allowZeroIntensity, color);
                    }
                }
                else
                {
                    AddIntentsToElement(elementNode.Element, allPointsTimeOrdered, levelCurve, colorGradient, duration, elementData, allowZeroIntensity);
                }
            }

            return elementData;
        }
Beispiel #5
0
		public FireData()
		{
			Location = FireDirection.Bottom;
			Height = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 50.0, 50.0 }));
			HueShift = 0;
			LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
			Orientation = StringOrientation.Vertical;
		}
Beispiel #6
0
 public DimmingCurveHelper()
 {
     InitializeComponent();
     ForeColor = ThemeColorTable.ForeColor;
     BackColor = ThemeColorTable.BackgroundColor;
     ThemeUpdateControls.UpdateControls(this);
     _curve = new Curve();
 }
Beispiel #7
0
 public BarsData()
 {
     Colors = new List<ColorGradient>{new ColorGradient(Color.Red), new ColorGradient(Color.Lime), new ColorGradient(Color.Blue)};
     Direction = BarDirection.Up;
     Speed = 1;
     Repeat = 1;
     LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
     Orientation=StringOrientation.Vertical;
 }
Beispiel #8
0
 public GlediatorData()
 {
     Speed = 2;
     FileName = String.Empty;
     MovementType = MovementType.Iterations;
     Iterations = 1;
     Orientation=StringOrientation.Vertical;
     LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
 }
Beispiel #9
0
 public LifeData()
 {
     Colors = new List<ColorGradient>{new ColorGradient(Color.Red), new ColorGradient(Color.Lime), new ColorGradient(Color.Blue)};
     Speed = 5;
     CellsToStart = 50;
     Type = 1;
     Repeat = 1;
     LevelCurve = new Curve(CurveType.Flat100);
     Orientation=StringOrientation.Vertical;
 }
Beispiel #10
0
 public PlasmaData()
 {
     Colors = new List<ColorGradient>{new ColorGradient(Color.Red), new ColorGradient(Color.Lime), new ColorGradient(Color.Blue)};
     Speed = 10;
     PlasmaStyle = 1;
     LineDensity = 1;
     ColorType = PlasmaColorType.Normal;
     LevelCurve = new Curve(CurveType.Flat100);
     Orientation=StringOrientation.Vertical;
 }
Beispiel #11
0
		public SnowflakesData()
		{
			OuterColor = Color.White;
			CenterColor = Color.Blue;
			SnowflakeType = SnowflakeType.Random;
			Speed = 5;
			FlakeCount = 1;
			LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
			Orientation=StringOrientation.Vertical;
		}
Beispiel #12
0
 public ChaseData()
 {
     ColorHandling = ChaseColorHandling.StaticColor;
     PulseOverlap = 0;
     DefaultLevel = 0;
     StaticColor = Color.White;
     ColorGradient = new ColorGradient();
     PulseCurve = new Curve();
     ChaseMovement = new Curve();
 }
Beispiel #13
0
		public FireworksData()
		{
			Colors = new List<Color> { Color.Red, Color.Lime, Color.Blue };
			Particles = 50;
			Explosions = 50;
			Velocity = 5;
			ParticleFade = 50;
			Speed = 5;
			LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
		}
Beispiel #14
0
 public SnowStormData()
 {
     Colors = new List<ColorGradient>{new ColorGradient(Color.Red), new ColorGradient(Color.Lime), new ColorGradient(Color.Blue)};
     Speed = 50;
     Count = 10;
     Length = 5;
     ReverseDirection = false;
     ColorType = SnowStormColorType.Palette;
     LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
     Orientation=StringOrientation.Vertical;
 }
Beispiel #15
0
		public SpiralData()
		{
			Colors = new List<ColorGradient>{new ColorGradient(Color.Red), new ColorGradient(Color.Lime), new ColorGradient(Color.Blue)};
			Direction = SpiralDirection.Forward;
			Speed = 1;
			Repeat = 1;
			Blend = false;
			Rotation = 20;
			Thickness = 60;
			LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
			Orientation=StringOrientation.Vertical;
		}
Beispiel #16
0
		public PictureData()
		{
			EffectType = EffectType.RenderPictureNone;
			ScalePercent = 100;
			ScaleToGrid = false;
			Speed = 1;
			FileName = String.Empty;
			Orientation=StringOrientation.Vertical;
			XOffset = 0;
			YOffset = 0;
			LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
		}
Beispiel #17
0
 public CurtainData()
 {
     Gradient = new ColorGradient();
     Gradient.Colors.Clear();
     Gradient.Colors.Add(new ColorPoint(Color.Red, 0.0));
     Gradient.Colors.Add(new ColorPoint(Color.Lime, 1.0));
     Direction = CurtainDirection.CurtainOpen;
     Speed = 1;
     Edge = CurtainEdge.Center;
     Swag = 1;
     LevelCurve = new Curve(CurveType.Flat100);
     Orientation=StringOrientation.Vertical;
 }
Beispiel #18
0
		public ChaseData()
		{
			ColorHandling = ChaseColorHandling.StaticColor;
			PulseOverlap = 0;
			DefaultLevel = 0;
			StaticColor = Color.White;
			ColorGradient = new ColorGradient(Color.White);
			PulseCurve = new Curve();
			ChaseMovement = new Curve();
			DepthOfEffect = 0;
			ExtendPulseToStart = false;
			ExtendPulseToEnd = false;
		}
Beispiel #19
0
		public WipeData() {
			Curve = new Curve();
			Curve.Points.Clear();
			Curve.Points.Add(0, 0);
		 	Curve.Points.Add(50, 100);
			Curve.Points.Add(100, 0);
		 			
			Direction = WipeDirection.Right;
			ColorGradient = new ColorGradient(Color.White);
			PulseTime = 1000;
			WipeByCount = false;
			PassCount = 1;
			PulsePercent = 33;
		}
Beispiel #20
0
 public TreeData()
 {
     Colors = new List<ColorGradient>{new ColorGradient(Color.Red), new ColorGradient(Color.Lime), new ColorGradient(Color.Blue)};
     BackgroundColor = new ColorGradient(Color.Red);
     ColorType = TreeColorType.Static;
     BranchDirection = TreeBranchDirection.Up;
     Speed = 10;
     ToggleBlend = true;
     Branches = 10;
     LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
     BlendCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 70.0, 70.0 }));
     BackgroundLevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 70.0, 70.0 }));
     Orientation=StringOrientation.Vertical;
 }
Beispiel #21
0
 public ColorWashData()
 {
     Gradient = new ColorGradient();
     Gradient.Colors.Clear();
     Gradient.Colors.Add(new ColorPoint(Color.Red, 0.0));
     Gradient.Colors.Add(new ColorPoint(Color.Lime, .5));
     Gradient.Colors.Add(new ColorPoint(Color.Blue, 1.0));
     Type = ColorWashType.Center;
     Iterations = 1;
     VerticalFade = false;
     HorizontalFade = false;
     LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
     Orientation=StringOrientation.Vertical;
 }
Beispiel #22
0
 public SpirographData()
 {
     Colors = new List<ColorGradient>{new ColorGradient(Color.Red), new ColorGradient(Color.Lime), new ColorGradient(Color.Blue)};
     Speed = 2;
     Animate = true;
     OCR = 88;
     ICR = 21;
     SpirographRange = 100;
     Type = ColorType.Standard;
     Range = 70;
     ColorChase = false;
     Distance = 50;
     LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
     Orientation=StringOrientation.Vertical;
 }
Beispiel #23
0
 public AlternatingData()
 {
     Level1 = 1;
     Level2 = 1;
     Color1 = Color.White;
     Color2 = Color.Red;
     Enable = true;
     Interval = 500;
     DepthOfEffect = 0;
     GroupEffect = 1;
     StaticColor1 = StaticColor2 = true;
     ColorGradient1 = new ColorGradient(Color.White);
     ColorGradient2 = new ColorGradient(Color.Red);
     Curve1 = new Curve();
     Curve2 = new Curve();
 }
Beispiel #24
0
		public ButterflyData()
		{
			Gradient = new ColorGradient();
			Gradient.Colors.Clear();
			Gradient.Colors.Add(new ColorPoint(Color.Red,0.0));
			Gradient.Colors.Add(new ColorPoint(Color.Lime, 1.0));
			Iterations = 1;
			ColorScheme = ColorScheme.Gradient;
			ButterflyType = ButterflyType.Type1;
			Repeat = 1;
			BackgroundSkips = 2;
			BackgroundChunks = 1;
			Direction = Direction.Forward;
			LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
			Orientation=StringOrientation.Vertical;
		}
Beispiel #25
0
 public SpinData()
 {
     SpeedFormat = SpinSpeedFormat.RevolutionCount;
     PulseLengthFormat = SpinPulseLengthFormat.EvenlyDistributedAcrossSegments;
     ColorHandling = SpinColorHandling.StaticColor;
     RevolutionCount = 3;
     RevolutionFrequency = 2;
     RevolutionTime = 500;
     PulseTime = 100;
     PulsePercentage = 10;
     DefaultLevel = 0;
     StaticColor = Color.White;
     ColorGradient = new ColorGradient();
     PulseCurve = new Curve();
     ReverseSpin = false;
 }
Beispiel #26
0
 public FireworksData()
 {
     ColorGradients = new List<ColorGradient> { new ColorGradient(Color.Red), new ColorGradient(Color.Lime), new ColorGradient(Color.Blue) };
     Explosions = 10;
     RandomVelocity = false;
     Velocity = 5;
     MinVelocity = 1;
     MaxVelocity = 10;
     RandomParticles = true;
     Particles = 50;
     MinParticles = 10;
     MaxParticles = 90;
     ColorType = FireworksColorType.Standard;
     ParticleFade = 50;
     LevelCurve = new Curve(CurveType.Flat100);
 }
Beispiel #27
0
 public PinWheelData()
 {
     Colors = new List<GradientLevelPair> { new GradientLevelPair(Color.Red, CurveType.Flat100), new GradientLevelPair(Color.Lime, CurveType.Flat100), new GradientLevelPair(Color.Blue, CurveType.Flat100) };
     ColorType = PinWheelColorType.Standard;
     Speed = 1;
     Arms = 8;
     Twist = 60;
     Rotation = RotationType.Forward;
     Size = 90;
     Thickness = 15;
     XOffset = 0;
     YOffset = 0;
     CenterStart = 0;
     PinWheel3D = false;
     LevelCurve = new Curve(CurveType.Flat100);
     Orientation=StringOrientation.Vertical;
 }
Beispiel #28
0
		public TextData()
		{
			Colors = new List<ColorGradient>{new ColorGradient(Color.Red)};
			BaseColor = Color.Lime;
			UseBaseColor = false;
			Direction = TextDirection.Left;
			Speed = 1;
			Position = 0;
			PositionX = 0;
			CenterStop = false;
			Text = new List<string>{String.Empty};
			GradientMode = GradientMode.AcrossElement;
			Orientation=StringOrientation.Vertical;
			Font = new SerializableFont(new Font("Arial", 8));
			LevelCurve = new Curve(CurveType.Flat100);
			BaseLevelCurve = new Curve(CurveType.Flat100);
		}
Beispiel #29
0
        private static void AddIntentsToElement(Element element, double[] allPointsTimeOrdered, Curve levelCurve, ColorGradient colorGradient, TimeSpan duration, EffectIntents elementData, bool allowZeroIntensity, Color? color = null)
        {
            if (element != null)
            {
                double lastPosition = allPointsTimeOrdered[0];
                TimeSpan lastEnd = TimeSpan.Zero;
                for (var i = 1; i < allPointsTimeOrdered.Length; i++)
                {
                    double position = allPointsTimeOrdered[i];
                    TimeSpan startTime = lastEnd;
                    TimeSpan timeSpan = TimeSpan.FromMilliseconds(duration.TotalMilliseconds * (position - lastPosition));

                    if (color == null)
                    {
                        var startColor = colorGradient.GetColorAt(lastPosition);
                        var endColor = colorGradient.GetColorAt(position);
                        var startIntensity = levelCurve.GetValue(lastPosition * 100) / 100;
                        var endIntensity = levelCurve.GetValue(position * 100) / 100;

                        if (allowZeroIntensity || !(startIntensity.Equals(0) && endIntensity.Equals(0)))
                        {
                            IIntent intent = IntentBuilder.CreateIntent(startColor, endColor, startIntensity, endIntensity, timeSpan);
                            elementData.AddIntentForElement(element.Id, intent, startTime);
                        }
                    }
                    else
                    {
                        var startIntensity = (colorGradient.GetProportionOfColorAt(lastPosition, (Color)color) * levelCurve.GetValue(lastPosition * 100) / 100);
                        var endIntensity = (colorGradient.GetProportionOfColorAt(position, (Color)color) * levelCurve.GetValue(position * 100) / 100);

                        if (allowZeroIntensity || !(startIntensity.Equals(0) && endIntensity.Equals(0)))
                        {
                            IIntent intent = IntentBuilder.CreateDiscreteIntent((Color)color, startIntensity, endIntensity, timeSpan);
                            elementData.AddIntentForElement(element.Id, intent, startTime);
                        }

                    }

                    lastPosition = position;
                    lastEnd = startTime + timeSpan;
                }
            }
        }
Beispiel #30
0
 public MeteorsData()
 {
     Colors = new List<ColorGradient>{new ColorGradient(Color.Red), new ColorGradient(Color.Lime), new ColorGradient(Color.Blue)};
     Speed = 30;
     PixelCount = 20;
     Direction = 180;
     MaxSpeed = 40;
     MinSpeed = 15;
     MinDirection = 0;
     MaxDirection = 360;
     RandomBrightness = false;
     RandomSpeed = true;
     RandomMeteorPosition = false;
     MeteorEffect = MeteorsEffect.None;
     ColorType = MeteorsColorType.Palette;
     Length = 5;
     LevelCurve = new Curve(new PointPairList(new[] { 0.0, 100.0 }, new[] { 100.0, 100.0 }));
     Orientation=StringOrientation.Vertical;
 }