Inheritance: SingleOwnerDevice, IPixel1D, IApiVersion3, IOutput, IOwner, IControlledDevice, IReceivesBrightness
Example #1
0
        //        private Controller.Sequence laserSeq;
        public ItalianScene1(IEnumerable<string> args)
        {
            //            testSeq = new Controller.Sequence("Pulse");
            candyCane = new Controller.Sequence("Candy Cane");
            //            laserSeq = new Controller.Sequence("Laser");

            allPixels = new VirtualPixel1D("All Pixels", 28);
        }
Example #2
0
        public PixelScene1(IEnumerable<string> args)
        {
            testSeq = new Controller.Sequence("Pulse");
            candyCane = new Controller.Sequence("Candy Cane");
            laserSeq = new Controller.Sequence("Laser");

            allPixels = new VirtualPixel1D("All Pixels", 150);

            buttonTest = new DigitalInput("Test");
        }
Example #3
0
        public Nutcracker3Scene(IEnumerable<string> args)
        {
            candyLight = new StrobeColorDimmer("Candy Light");
            testButton = new DigitalInput("Test");

            allPixels1 = new VirtualPixel1D(256);
            allPixels2 = new VirtualPixel1D(256);
            allPixels1.SetAll(Color.White, 0);
            allPixels2.SetAll(Color.White, 0);

            var lorImport = new Import.LorImport(@"C:\Users\HLindestaf\Downloads\coke_song\Coke-Cola Christmas.lms");

            var channelNames = lorImport.GetChannels.Select(x => lorImport.GetChannelName(x)).ToList();
            channelNames.ForEach(x => Console.WriteLine(x));

            int pixelPosition = 0;

            var circuits = lorImport.GetChannels.GetEnumerator();

            while (true)
            {
                //                Controller.IChannelIdentity channelR, channelG, channelB;
                Controller.IChannelIdentity channel;

                if (!circuits.MoveNext())
                    break;
                channel = circuits.Current;

                VirtualPixel1D pixel1d;
                int pixelNum;
                if (pixelPosition < 256)
                {
                    pixel1d = allPixels1;
                    pixelNum = pixelPosition;
                }
                else
                {
                    pixel1d = allPixels2;
                    pixelNum = pixelPosition - 256;
                }

                var pixel = lorImport.MapDevice(
                    channel,
                    name => new SinglePixel(name, pixel1d, pixelNum));

                log.Debug("Mapping channel [{0}] to pixel {1} [{2}]",
                    channel,
                    pixelPosition,
                    pixel.Name);

                pixelPosition++;
            }

            lorTimeline = lorImport.CreateTimeline(1);
        }
Example #4
0
        public TestOSC(IEnumerable<string> args)
        {
            allPixels = new VirtualPixel1D("All Pixels", 28 + 50);

            loopSeq = new Controller.Sequence("Loop Seq");
            fingers = new Finger[10];
            for (int i = 0; i < 10; i++)
                fingers[i] = new Finger();

            testDimmer = new Dimmer("Test");

            this.oscServer = new Expander.OscServer(5555);
        }
Example #5
0
        public Nutcracker1Scene(IEnumerable<string> args)
        {
            testButton = new DigitalInput("Test");

            allPixels = new VirtualPixel1D(60);
            allPixels.SetAll(Color.White, 0);

            var lorImport = new Import.LorImport(@"..\..\..\Test Files\HAUK~HALLOWEEN1.lms");

            int pixelPosition = 0;

            var circuits = lorImport.GetChannels.GetEnumerator();

            while (true)
            {
                Controller.IChannelIdentity channelR, channelG, channelB;

                if (!circuits.MoveNext())
                    break;
                channelR = circuits.Current;

                if (!circuits.MoveNext())
                    break;
                channelG = circuits.Current;

                if (!circuits.MoveNext())
                    break;
                channelB = circuits.Current;

                var pixel = lorImport.MapDevice(
                    channelR,
                    channelG,
                    channelB,
                    name => new SinglePixel(name, allPixels, pixelPosition));

                log.Debug("Mapping channel R[{0}]/G[{1}]/B[{2}] to pixel {3} [{4}]",
                    channelR,
                    channelG,
                    channelB,
                    pixelPosition,
                    pixel.Name);

                pixelPosition++;
            }

            lorTimeline = lorImport.CreateTimeline(null);
        }
Example #6
0
        public PixelScene1(IEnumerable<string> args)
        {
            testSeq = new Controller.Sequence("Pulse");
            candyCane = new Controller.Sequence("Candy Cane");
            laserSeq = new Controller.Sequence("Laser");

            allPixels = new VirtualPixel1D(200);

            buttonTest = new DigitalInput("Test");

            // WS2811
            acnOutput.Connect(new Physical.PixelRope(allPixels, 0, 200), 51, 1);
            //            acnOutput.Connect(new Physical.PixelRope(allPixels, 50, 100), 5, 1);
            //            acnOutput.Connect(new Physical.PixelRope(allPixels, 150, 50), 4, 151);
            // GECE
            //            acnOutput.Connect(new Physical.PixelRope(allPixels, 100, 50), 2, 91);
        }
Example #7
0
        public Xmas2013scene(IEnumerable<string> args)
        {
            hours = new OperatingHours("Hours");

            timeline1 = new Controller.Timeline<string>(1);
            stateMachine = new Controller.EnumStateMachine<States>("Main");
            hatLightState = new Controller.IntStateMachine("Hats");
            lightJesus = new StrobeColorDimmer("Jesus");
            lightStar = new Dimmer("Star");
            lightHat1 = new Dimmer("Hat 1");
            lightHat2 = new Dimmer("Hat 2");
            lightHat3 = new Dimmer("Hat 3");
            lightHat4 = new Dimmer("Hat 4");
            lightSnow1 = new Dimmer("Snow 1");
            lightSnow2 = new Dimmer("Snow 2");
            lightStairs1 = new Dimmer("Stair 1");
            lightStairs2 = new Dimmer("Stairs 2");
            lightGarland1 = new Dimmer("Garland 1");
            lightGarland2 = new Dimmer("Garland 2");
            lightGarland3 = new Dimmer("Garland 3");
            lightGarland4 = new Dimmer("Garland 4");
            lightString1 = new Dimmer("String 1");
            lightString2 = new Dimmer("String 1");
            lightXmasTree = new Dimmer("Xmas Tree");

            lightDeerLarge = new Dimmer("Deer Large");
            lightDeerSmall = new Dimmer("Deer Small");
            lightTreeUp = new StrobeColorDimmer("Tree up");
            switchSanta = new Switch("Santa");
            switchDeerHuge = new Switch("Deer Huge");
            lightTopperSmall = new Dimmer("Topper Small");
            lightTopperLarge = new Dimmer("Topper Large");
            lightNet1 = new Dimmer("Net 1");
            lightNet2 = new Dimmer("Net 2");
            lightVader = new StrobeColorDimmer("Vader");
            light3wise = new StrobeColorDimmer("3wise");

            pulsatingEffect1 = new Effect.Pulsating("Pulse FX 1", S(4), 0.4, 1.0, false);
            pulsatingStar = new Effect.Pulsating("Pulse Star", S(2), 0.2, 0.4, false);
            flickerEffect = new Effect.Flicker("Flicker", 0.5, 0.6, false);
            faderIn = new Effect.Fader("FaderIn", S(2), 0.0, 1.0, false);

            candyCane = new Controller.Sequence("Candy Cane");
            twinkleSeq = new Controller.Sequence("Twinkle");
            backgroundLoop = new Controller.Sequence("Background");
            music1Seq = new Controller.Sequence("Christmas Canon");
            starwarsCane = new Controller.Sequence("Starwars Cane");
            fatherSeq = new Controller.Sequence("Father");
            offHours1Seq = new Controller.Sequence("Off hours 1");
            offHours2Seq = new Controller.Sequence("Off hours 2");
            waveformSeq = new Controller.Sequence("Waveform");

            allPixels = new VirtualPixel1D("All Pixels", 100);
            starwarsPixels = new VirtualPixel1D("Star wars", 50);
            saberPixels = new VirtualPixel1D("Saber", 60);

            buttonTest = new DigitalInput("Test");
            buttonStartInflatables = new DigitalInput("Inflatables");
            buttonOverrideHours = new DigitalInput("Override hours", true);

            buttonBlue = new DigitalInput("Blue");
            buttonRed = new DigitalInput("Red");
            switchButtonBlue = new Switch("Blue");
            switchButtonRed = new Switch("Red");
            elJesus = new Switch("Jesus Halo");
            audioPlayer = new AudioPlayer("Audio");

            popOut1Piano = new Effect.PopOut("Piano", S(0.4));
            popOut1Drums = new Effect.PopOut("Drums", S(0.4));
            popOut1DrumsFast = new Effect.PopOut("Drums Fast", S(0.3));
            popOut1Chord = new Effect.PopOut("Chord", S(0.4));
            popOut1Solo = new Effect.PopOut("Solo", S(0.3));
            popOut1Solo2 = new Effect.PopOut("Solo 2", S(0.2));
            popOut1Choir = new Effect.PopOut("Choir", S(1.0));
            popOut1Voice = new Effect.PopOut("Voice", S(1.0));
            popOut1Vocal2 = new Effect.PopOut("Vocal 2", S(2.0));
            popOut1VocalLong = new Effect.PopOut("Vocal Long", S(5.0));
            popOut1End = new Effect.PopOut("End", S(5.0));

            this.oscServer = new Expander.OscServer(10000);
        }
Example #8
0
        public XmasScene2(IEnumerable<string> args, System.Collections.Specialized.NameValueCollection settings)
        {
            hours = new OperatingHours("Hours");
            if (!args.Contains("TEST"))
            {
                hours.AddRange("5:00 pm", "10:00 pm");
                hours.AddRange("5:00 am", "7:00 am");
            }

            lightNetRight = new Dimmer("Net Right");
            lightGarlandRight = new Dimmer("Garland Right");
            lightHatsRight = new Dimmer("Hats Right");
            lightTreesRight = new Dimmer("Trees Right");
            lightReindeers = new Dimmer("Reindeers");
            lightIcicles = new Dimmer("Icicles");
            lightNetLeft = new Dimmer("Net Left");
            lightTree = new Dimmer("Tree");
            lightGarlandLeft = new Dimmer("Garland Left");
            lightUnused1 = new Dimmer("Unused 1");
            lightUnused2 = new Dimmer("Unused 2");
            lightJesus = new StrobeColorDimmer("Jesus");
            lightCeiling1 = new StrobeColorDimmer("Ceiling 1");
            lightCeiling2 = new StrobeColorDimmer("Ceiling 2");
            lightCeiling3 = new StrobeColorDimmer("Ceiling 3");
            lightVader = new StrobeColorDimmer("Vader");
            buttonLightRed = new Switch("Button Red");
            buttonLightBlue = new Switch("Button Blue");
            elLightsaber = new Switch("Lightsaber");
            elJesus = new Switch("Jesus Halo");
            bigReindeer = new Switch("Big Reindeer");

            buttonBlue = new DigitalInput("Button Blue");
            buttonRed = new DigitalInput("Button Red");
            buttonStartReindeer = new DigitalInput("Start Reindeer");

            timeline = new Controller.Timeline<string>(1);
            stateMachine = new Controller.EnumStateMachine<States>("Main");
            candyCane = new Controller.Sequence("Candy Cane");
            starwarsCane = new Controller.Sequence("Starwars Cane");
            backgroundLoop = new Controller.Sequence("Background");
            musicSeq = new Controller.Sequence("Christmas Canon");
            buttonSeq = new Controller.Sequence("Buttons");
            fatherSeq = new Controller.Sequence("Father");
            breathSeq = new Controller.Sequence("Breath");
            laserSeq = new Controller.Sequence("Laser");

            allPixels = new VirtualPixel1D(100);

            pulsatingEffect1 = new Effect.Pulsating(S(2), 0.3, 1.0, false);
            pulsatingEffect2 = new Effect.Pulsating(S(2), 0.3, 1.0, false);

            popOutPiano = new Effect.PopOut(S(0.4));
            popOutDrums = new Effect.PopOut(S(0.4));
            popOutDrumsFast = new Effect.PopOut(S(0.3));
            popOutChord = new Effect.PopOut(S(0.4));
            popOutSolo = new Effect.PopOut(S(0.3));
            popOutSolo2 = new Effect.PopOut(S(0.2));
            popOutChoir = new Effect.PopOut(S(1.0));
            popOutVoice = new Effect.PopOut(S(1.0));
            popOutVocal2 = new Effect.PopOut(S(2.0));
            popOutVocalLong = new Effect.PopOut(S(5.0));
            popOutEnd = new Effect.PopOut(S(5.0));

            popOutPiano
                .AddDevice(lightIcicles);

            popOutDrums
                .AddDevice(lightReindeers)
                .AddDevice(lightHatsRight);

            popOutDrumsFast
                .AddDevice(lightCeiling1)
                .AddDevice(allPixels);

            popOutChord
                .AddDevice(lightTree)
                .AddDevice(lightCeiling2)
                .AddDevice(lightCeiling3);

            popOutSolo
                .AddDevice(lightNetLeft)
                .AddDevice(lightNetRight)
                .AddDevice(lightCeiling1)
                .AddDevice(lightCeiling3)
                .SetPriority(2);

            popOutSolo2
                .AddDevice(lightCeiling1)
                .AddDevice(lightCeiling3)
                .SetPriority(2);

            popOutChoir
                .AddDevice(lightGarlandRight)
                .AddDevice(lightTreesRight)
                .AddDevice(lightCeiling1);

            popOutVoice
                .AddDevice(lightGarlandLeft)
                .AddDevice(lightCeiling3);

            popOutVocal2
                .AddDevice(lightReindeers)
                .AddDevice(allPixels)
                .SetPriority(10);

            popOutVocalLong
                .AddDevice(lightNetRight)
                .AddDevice(lightGarlandRight)
                .AddDevice(lightHatsRight)
                .SetPriority(10);

            popOutEnd
                .AddDevice(lightIcicles)
                .AddDevice(lightReindeers)
                .AddDevice(lightHatsRight)
                .AddDevice(lightCeiling1)
                .AddDevice(lightCeiling2)
                .AddDevice(lightCeiling3)
                .AddDevice(lightGarlandRight)
                .AddDevice(lightGarlandLeft)
                .AddDevice(lightTreesRight)
                .AddDevice(lightNetRight)
                .AddDevice(lightNetLeft)
                .AddDevice(allPixels)
                .SetPriority(100);

            timeline.AddMs(0, "INIT");
            timeline.PopulateFromCSV("Christmas Canon Rock All Labels.csv");
            int state = 0;
            int halfSolo = 0;

            timeline.TimelineTrigger += (sender, e) =>
                {
                    switch (e.Step)
                    {
                        case 62:
                            // First drum
                            state = 1;
                            allPixels.TurnOff();
                            break;

                        case 69:
                            state = 2;
                            lightCeiling2.SetOnlyColor(Color.Green);
                            lightCeiling3.SetOnlyColor(Color.Blue);
                            break;

                        case 136:
                            // First solo
                            state = 3;
                            allPixels.TurnOff();
                            lightCeiling2.SetOnlyColor(Color.White);
                            lightCeiling3.SetOnlyColor(Color.Red);
                            break;

                        case 265:
                            // First choir
                            allPixels.TurnOff();
                            state = 4;
                            break;

                        case 396:
                            // Vocal 2
                            state = 5;
                            allPixels.SetAllOnlyColor(Color.Blue);
                            break;

                        case 497:
                            // Second solo
                            state = 6;
                            allPixels.TurnOff();
                            lightCeiling2.SetOnlyColor(Color.White);
                            lightCeiling3.SetOnlyColor(Color.Red);
                            break;

                        case 561:
                            // End second solo
                            state = 7;
                            allPixels.TurnOff();
                            break;

                        case 585:
                            // End third solo
                            state = 8;
                            allPixels.TurnOff();
                            break;

                        case 721:
                            // End third solo
                            state = 9;
                            allPixels.TurnOff();
                            break;
                    }

                    switch (e.Code)
                    {
                        case "INIT":
                            state = 0;
                            halfSolo = 0;
                            lightCeiling1.SetColor(Color.White, 0);
                            lightCeiling2.SetColor(Color.Blue, 0);
                            lightCeiling3.SetColor(Color.Red, 0);
                            break;

                        case "N1":
                            popOutPiano.Pop(0.4);
                            if (state == 0)
                                allPixels.Inject(Color.Red, 0.5);
                            break;

                        case "N2":
                            popOutPiano.Pop(0.6);
                            if (state == 0)
                                allPixels.Inject(Color.White, 0.5);
                            break;

                        case "N3":
                            popOutPiano.Pop(0.8);
                            if (state == 0)
                                allPixels.Inject(Color.Blue, 0.5);
                            break;

                        case "N4":
                            popOutPiano.Pop(1.0);
                            if (state == 0)
                                allPixels.Inject(Color.Black, 0.0);
                            break;

                        case "Base":
                            popOutDrums.Pop(1.0);
                            if (state < 3)
                            {
                                allPixels.SetAllOnlyColor(Color.Purple);
                                popOutDrumsFast.Pop(1.0);
                            }
                            break;

                        case "Cymbal":
                            popOutDrums.Pop(1.0);
                            if (state < 3)
                            {
                                allPixels.SetAllOnlyColor(Color.Green);
                                popOutDrumsFast.Pop(1.0);
                            }
                            break;

                        case "Chord":
                            popOutChord.Pop(1.0);
                            break;

                        case "Solo":
                            popOutSolo.Pop(1.0);
                            if ((halfSolo++ % 2) == 0)
                                popOutSolo2.Pop(0.8);
                            if (state == 3 || state == 6 || state == 8)
                            {
                                Color pixCol = Color.Black;
                                switch (e.Step % 4)
                                {
                                    case 0:
                                        pixCol = Color.Red;
                                        break;
                                    case 1:
                                        pixCol = Color.Yellow;
                                        break;
                                    case 2:
                                        pixCol = Color.Blue;
                                        break;
                                    case 3:
                                        pixCol = Color.Pink;
                                        break;
                                }
                                allPixels.Inject(pixCol, 1.0);
                            }
                            break;

                        case "Choir":
                            popOutChoir.Pop(1.0);
                            break;

                        case "Voice":
                            popOutVoice.Pop(1.0);
                            break;

                        case "Vocal2":
                            popOutVocal2.Pop(1.0);
                            break;

                        case "Long":
                            popOutVocalLong.Pop(1.0);
                            break;

                        case "LongUp":
                            // TODO
                            break;

                        case "Down":
                            // TODO
                            break;

                        case "End":
                            EverythingOff();
                            popOutEnd.Pop(1.0);
                            break;

                        default:
                            log.Info("Unhandled code: " + e.Code);
                            break;
                    }
                };

            audioPlayer = new Physical.NetworkAudioPlayer(
                settings["NetworkAudioPlayerIP"],
                int.Parse(settings["NetworkAudioPlayerPort"]));
        }
Example #9
0
        public LORScene(IEnumerable<string> args)
        {
            allPixels = new VirtualPixel1D(80);
            allPixels.SetAll(Color.White, 0);

            lorImport.LoadFromFile(@"..\..\..\Test Files\Cannon Rock104.lms");

            lorImport.MapDevice("Roof 1", lightRoof1);
            lorImport.MapDevice("Roof 2", lightRoof2);
            lorImport.MapDevice("Roof 3", lightRoof3);
            lorImport.MapDevice("Roof 4", lightRoof4);

            lorImport.MapDevice("Sidewalk 1", lightSidewalk1);
            lorImport.MapDevice("Sidewalk 2", lightSidewalk2);
            lorImport.MapDevice("Sidewalk 3", lightSidewalk3);
            lorImport.MapDevice("Sidewalk 4", lightSidewalk4);
            lorImport.MapDevice("Sidewalk 5", lightSidewalk1);
            lorImport.MapDevice("Sidewalk 6", lightSidewalk2);
            lorImport.MapDevice("Sidewalk 7", lightSidewalk3);
            lorImport.MapDevice("Sidewalk 8", lightSidewalk4);

            lorImport.MapDevice("Arch 1", light5_2);

            lorImport.Prepare();
            lorImport.Dump();

            waveSource = CodecFactory.Instance.GetCodec(@"C:\Projects\Other\ChristmasSounds\trk\21. Christmas Canon Rock.wav");

            soundOut.Initialize(waveSource);

            //            light5_1 = lorImport.MapDevice(1, 1, name => new StrobeColorDimmer(name));

            /*
                        light1_1 = lorImport.MapDevice(1, 1, name => new StrobeColorDimmer(name));
                        light1_2 = lorImport.MapDevice(1, 2, name => new StrobeColorDimmer(name));
                        light1_3 = lorImport.MapDevice(1, 3, name => new StrobeColorDimmer(name));
                        light1_4 = lorImport.MapDevice(1, 4, name => new StrobeColorDimmer(name));
                        light1_5 = lorImport.MapDevice(1, 5, name => new StrobeColorDimmer(name));
                        light1_6 = lorImport.MapDevice(1, 6, name => new StrobeColorDimmer(name));
                        light1_7 = lorImport.MapDevice(1, 7, name => new StrobeColorDimmer(name));
                        light1_8 = lorImport.MapDevice(1, 8, name => new StrobeColorDimmer(name));
                        light1_9 = lorImport.MapDevice(1, 9, name => new StrobeColorDimmer(name));
                        light1_10 = lorImport.MapDevice(1, 10, name => new StrobeColorDimmer(name));
                        light1_11 = lorImport.MapDevice(1, 11, name => new StrobeColorDimmer(name));
                        light1_12 = lorImport.MapDevice(1, 12, name => new StrobeColorDimmer(name));
                        light1_13 = lorImport.MapDevice(1, 13, name => new StrobeColorDimmer(name));
                        light1_14 = lorImport.MapDevice(1, 14, name => new StrobeColorDimmer(name));
                        light1_15 = lorImport.MapDevice(1, 15, name => new StrobeColorDimmer(name));
                        light1_16 = lorImport.MapDevice(1, 16, name => new StrobeColorDimmer(name));

                        light2_1 = lorImport.MapDevice(2, 1, name => new StrobeColorDimmer(name));
                        light2_2 = lorImport.MapDevice(2, 2, name => new StrobeColorDimmer(name));
                        light2_3 = lorImport.MapDevice(2, 3, name => new StrobeColorDimmer(name));
                        light2_4 = lorImport.MapDevice(2, 4, name => new StrobeColorDimmer(name));
                        light2_5 = lorImport.MapDevice(2, 5, name => new StrobeColorDimmer(name));
                        light2_6 = lorImport.MapDevice(2, 6, name => new StrobeColorDimmer(name));
                        light2_7 = lorImport.MapDevice(2, 7, name => new StrobeColorDimmer(name));
                        light2_8 = lorImport.MapDevice(2, 8, name => new StrobeColorDimmer(name));
                        light2_9 = lorImport.MapDevice(2, 9, name => new StrobeColorDimmer(name));
                        light2_10 = lorImport.MapDevice(2, 10, name => new StrobeColorDimmer(name));
                        light2_11 = lorImport.MapDevice(2, 11, name => new StrobeColorDimmer(name));
                        light2_12 = lorImport.MapDevice(2, 12, name => new StrobeColorDimmer(name));
                        light2_13 = lorImport.MapDevice(2, 13, name => new StrobeColorDimmer(name));
                        light2_14 = lorImport.MapDevice(2, 14, name => new StrobeColorDimmer(name));
                        light2_15 = lorImport.MapDevice(2, 15, name => new StrobeColorDimmer(name));
                        light2_16 = lorImport.MapDevice(2, 16, name => new StrobeColorDimmer(name));

                        light3_1 = lorImport.MapDevice(3, 1, name => new StrobeColorDimmer(name));
                        light3_2 = lorImport.MapDevice(3, 2, name => new StrobeColorDimmer(name));
                        light3_3 = lorImport.MapDevice(3, 3, name => new StrobeColorDimmer(name));
                        light3_4 = lorImport.MapDevice(3, 4, name => new StrobeColorDimmer(name));
                        light3_5 = lorImport.MapDevice(3, 5, name => new StrobeColorDimmer(name));
                        light3_6 = lorImport.MapDevice(3, 6, name => new StrobeColorDimmer(name));
                        light3_7 = lorImport.MapDevice(3, 7, name => new StrobeColorDimmer(name));
                        light3_8 = lorImport.MapDevice(3, 8, name => new StrobeColorDimmer(name));
                        light3_9 = lorImport.MapDevice(3, 9, name => new StrobeColorDimmer(name));
                        light3_10 = lorImport.MapDevice(3, 10, name => new StrobeColorDimmer(name));
                        light3_11 = lorImport.MapDevice(3, 11, name => new StrobeColorDimmer(name));
                        light3_12 = lorImport.MapDevice(3, 12, name => new StrobeColorDimmer(name));
                        light3_13 = lorImport.MapDevice(3, 13, name => new StrobeColorDimmer(name));
                        light3_14 = lorImport.MapDevice(3, 14, name => new StrobeColorDimmer(name));
                        light3_15 = lorImport.MapDevice(3, 15, name => new StrobeColorDimmer(name));
                        light3_16 = lorImport.MapDevice(3, 16, name => new StrobeColorDimmer(name));

                        light4_1 = lorImport.MapDevice(4, 1, name => new StrobeColorDimmer(name));
                        light4_2 = lorImport.MapDevice(4, 2, name => new StrobeColorDimmer(name));
                        light4_3 = lorImport.MapDevice(4, 3, name => new StrobeColorDimmer(name));
                        light4_4 = lorImport.MapDevice(4, 4, name => new StrobeColorDimmer(name));
                        light4_5 = lorImport.MapDevice(4, 5, name => new StrobeColorDimmer(name));
                        light4_6 = lorImport.MapDevice(4, 6, name => new StrobeColorDimmer(name));
                        light4_7 = lorImport.MapDevice(4, 7, name => new StrobeColorDimmer(name));
                        light4_8 = lorImport.MapDevice(4, 8, name => new StrobeColorDimmer(name));
                        light4_9 = lorImport.MapDevice(4, 9, name => new StrobeColorDimmer(name));
                        light4_10 = lorImport.MapDevice(4, 10, name => new StrobeColorDimmer(name));
                        light4_11 = lorImport.MapDevice(4, 11, name => new StrobeColorDimmer(name));
                        light4_12 = lorImport.MapDevice(4, 12, name => new StrobeColorDimmer(name));
                        light4_13 = lorImport.MapDevice(4, 13, name => new StrobeColorDimmer(name));
                        light4_14 = lorImport.MapDevice(4, 14, name => new StrobeColorDimmer(name));
                        light4_15 = lorImport.MapDevice(4, 15, name => new StrobeColorDimmer(name));
                        light4_16 = lorImport.MapDevice(4, 16, name => new StrobeColorDimmer(name));

                        light5_1 = lorImport.MapDevice(5, 1, name => new StrobeColorDimmer(name));
                        light5_2 = lorImport.MapDevice(5, 2, name => new StrobeColorDimmer(name));
                        light5_3 = lorImport.MapDevice(5, 3, name => new StrobeColorDimmer(name));
                        light5_4 = lorImport.MapDevice(5, 4, name => new StrobeColorDimmer(name));
                        light5_5 = lorImport.MapDevice(5, 5, name => new StrobeColorDimmer(name));
                        light5_6 = lorImport.MapDevice(5, 6, name => new StrobeColorDimmer(name));
                        light5_7 = lorImport.MapDevice(5, 7, name => new StrobeColorDimmer(name));
                        light5_8 = lorImport.MapDevice(5, 8, name => new StrobeColorDimmer(name));
                        light5_9 = lorImport.MapDevice(5, 9, name => new StrobeColorDimmer(name));
                        light5_10 = lorImport.MapDevice(5, 10, name => new StrobeColorDimmer(name));
                        light5_11 = lorImport.MapDevice(5, 11, name => new StrobeColorDimmer(name));
                        light5_12 = lorImport.MapDevice(5, 12, name => new StrobeColorDimmer(name));
                        light5_13 = lorImport.MapDevice(5, 13, name => new StrobeColorDimmer(name));
                        light5_14 = lorImport.MapDevice(5, 14, name => new StrobeColorDimmer(name));
                        light5_15 = lorImport.MapDevice(5, 15, name => new StrobeColorDimmer(name));
                        light5_16 = lorImport.MapDevice(5, 16, name => new StrobeColorDimmer(name));
            */

            /*TEST            light5_1 = lorImport.MapDevice(new Import.LorImport.UnitCircuit(5, 1), name => new StrobeColorDimmer(name));

                        for (int unit = 1; unit <= 5; unit++)
                        {
                            for (int circuit = 1; circuit <= 16; circuit++)
                            {
                                int pixelPos = (unit - 1) * 16 + circuit - 1;

                                var pixel = lorImport.MapDevice(new Import.LorImport.UnitCircuit(unit, circuit), name => new SinglePixel(name, allPixels, pixelPos));

            //FIXME                    var color = lorImport.GetChannelColor(unit, circuit);
            //FIXME                    allPixels.SetColor(pixelPos, color, 0);

                                log.Debug("Mapping unit {0}  circuit {1} to pixel {2} [{3}]", unit, circuit, pixelPos, pixel.Name);
                            }
                        }
            */
        }
Example #10
0
        public LORScene(IEnumerable<string> args)
        {
            testButton = new DigitalInput("Test");

            allPixels = new VirtualPixel1D("All Pixels", 80);
            allPixels.SetAll(Color.White, 0);

            var lorImport = new Animatroller.Framework.Import.LorImport(@"..\..\..\Test Files\wonderful christmas time.lms");
            /*
            light1_1 = lorImport.MapDevice(1, 1, name => new StrobeColorDimmer(name));
            light1_2 = lorImport.MapDevice(1, 2, name => new StrobeColorDimmer(name));
            light1_3 = lorImport.MapDevice(1, 3, name => new StrobeColorDimmer(name));
            light1_4 = lorImport.MapDevice(1, 4, name => new StrobeColorDimmer(name));
            light1_5 = lorImport.MapDevice(1, 5, name => new StrobeColorDimmer(name));
            light1_6 = lorImport.MapDevice(1, 6, name => new StrobeColorDimmer(name));
            light1_7 = lorImport.MapDevice(1, 7, name => new StrobeColorDimmer(name));
            light1_8 = lorImport.MapDevice(1, 8, name => new StrobeColorDimmer(name));
            light1_9 = lorImport.MapDevice(1, 9, name => new StrobeColorDimmer(name));
            light1_10 = lorImport.MapDevice(1, 10, name => new StrobeColorDimmer(name));
            light1_11 = lorImport.MapDevice(1, 11, name => new StrobeColorDimmer(name));
            light1_12 = lorImport.MapDevice(1, 12, name => new StrobeColorDimmer(name));
            light1_13 = lorImport.MapDevice(1, 13, name => new StrobeColorDimmer(name));
            light1_14 = lorImport.MapDevice(1, 14, name => new StrobeColorDimmer(name));
            light1_15 = lorImport.MapDevice(1, 15, name => new StrobeColorDimmer(name));
            light1_16 = lorImport.MapDevice(1, 16, name => new StrobeColorDimmer(name));

            light2_1 = lorImport.MapDevice(2, 1, name => new StrobeColorDimmer(name));
            light2_2 = lorImport.MapDevice(2, 2, name => new StrobeColorDimmer(name));
            light2_3 = lorImport.MapDevice(2, 3, name => new StrobeColorDimmer(name));
            light2_4 = lorImport.MapDevice(2, 4, name => new StrobeColorDimmer(name));
            light2_5 = lorImport.MapDevice(2, 5, name => new StrobeColorDimmer(name));
            light2_6 = lorImport.MapDevice(2, 6, name => new StrobeColorDimmer(name));
            light2_7 = lorImport.MapDevice(2, 7, name => new StrobeColorDimmer(name));
            light2_8 = lorImport.MapDevice(2, 8, name => new StrobeColorDimmer(name));
            light2_9 = lorImport.MapDevice(2, 9, name => new StrobeColorDimmer(name));
            light2_10 = lorImport.MapDevice(2, 10, name => new StrobeColorDimmer(name));
            light2_11 = lorImport.MapDevice(2, 11, name => new StrobeColorDimmer(name));
            light2_12 = lorImport.MapDevice(2, 12, name => new StrobeColorDimmer(name));
            light2_13 = lorImport.MapDevice(2, 13, name => new StrobeColorDimmer(name));
            light2_14 = lorImport.MapDevice(2, 14, name => new StrobeColorDimmer(name));
            light2_15 = lorImport.MapDevice(2, 15, name => new StrobeColorDimmer(name));
            light2_16 = lorImport.MapDevice(2, 16, name => new StrobeColorDimmer(name));

            light3_1 = lorImport.MapDevice(3, 1, name => new StrobeColorDimmer(name));
            light3_2 = lorImport.MapDevice(3, 2, name => new StrobeColorDimmer(name));
            light3_3 = lorImport.MapDevice(3, 3, name => new StrobeColorDimmer(name));
            light3_4 = lorImport.MapDevice(3, 4, name => new StrobeColorDimmer(name));
            light3_5 = lorImport.MapDevice(3, 5, name => new StrobeColorDimmer(name));
            light3_6 = lorImport.MapDevice(3, 6, name => new StrobeColorDimmer(name));
            light3_7 = lorImport.MapDevice(3, 7, name => new StrobeColorDimmer(name));
            light3_8 = lorImport.MapDevice(3, 8, name => new StrobeColorDimmer(name));
            light3_9 = lorImport.MapDevice(3, 9, name => new StrobeColorDimmer(name));
            light3_10 = lorImport.MapDevice(3, 10, name => new StrobeColorDimmer(name));
            light3_11 = lorImport.MapDevice(3, 11, name => new StrobeColorDimmer(name));
            light3_12 = lorImport.MapDevice(3, 12, name => new StrobeColorDimmer(name));
            light3_13 = lorImport.MapDevice(3, 13, name => new StrobeColorDimmer(name));
            light3_14 = lorImport.MapDevice(3, 14, name => new StrobeColorDimmer(name));
            light3_15 = lorImport.MapDevice(3, 15, name => new StrobeColorDimmer(name));
            light3_16 = lorImport.MapDevice(3, 16, name => new StrobeColorDimmer(name));

            light4_1 = lorImport.MapDevice(4, 1, name => new StrobeColorDimmer(name));
            light4_2 = lorImport.MapDevice(4, 2, name => new StrobeColorDimmer(name));
            light4_3 = lorImport.MapDevice(4, 3, name => new StrobeColorDimmer(name));
            light4_4 = lorImport.MapDevice(4, 4, name => new StrobeColorDimmer(name));
            light4_5 = lorImport.MapDevice(4, 5, name => new StrobeColorDimmer(name));
            light4_6 = lorImport.MapDevice(4, 6, name => new StrobeColorDimmer(name));
            light4_7 = lorImport.MapDevice(4, 7, name => new StrobeColorDimmer(name));
            light4_8 = lorImport.MapDevice(4, 8, name => new StrobeColorDimmer(name));
            light4_9 = lorImport.MapDevice(4, 9, name => new StrobeColorDimmer(name));
            light4_10 = lorImport.MapDevice(4, 10, name => new StrobeColorDimmer(name));
            light4_11 = lorImport.MapDevice(4, 11, name => new StrobeColorDimmer(name));
            light4_12 = lorImport.MapDevice(4, 12, name => new StrobeColorDimmer(name));
            light4_13 = lorImport.MapDevice(4, 13, name => new StrobeColorDimmer(name));
            light4_14 = lorImport.MapDevice(4, 14, name => new StrobeColorDimmer(name));
            light4_15 = lorImport.MapDevice(4, 15, name => new StrobeColorDimmer(name));
            light4_16 = lorImport.MapDevice(4, 16, name => new StrobeColorDimmer(name));

            light5_1 = lorImport.MapDevice(5, 1, name => new StrobeColorDimmer(name));
            light5_2 = lorImport.MapDevice(5, 2, name => new StrobeColorDimmer(name));
            light5_3 = lorImport.MapDevice(5, 3, name => new StrobeColorDimmer(name));
            light5_4 = lorImport.MapDevice(5, 4, name => new StrobeColorDimmer(name));
            light5_5 = lorImport.MapDevice(5, 5, name => new StrobeColorDimmer(name));
            light5_6 = lorImport.MapDevice(5, 6, name => new StrobeColorDimmer(name));
            light5_7 = lorImport.MapDevice(5, 7, name => new StrobeColorDimmer(name));
            light5_8 = lorImport.MapDevice(5, 8, name => new StrobeColorDimmer(name));
            light5_9 = lorImport.MapDevice(5, 9, name => new StrobeColorDimmer(name));
            light5_10 = lorImport.MapDevice(5, 10, name => new StrobeColorDimmer(name));
            light5_11 = lorImport.MapDevice(5, 11, name => new StrobeColorDimmer(name));
            light5_12 = lorImport.MapDevice(5, 12, name => new StrobeColorDimmer(name));
            light5_13 = lorImport.MapDevice(5, 13, name => new StrobeColorDimmer(name));
            light5_14 = lorImport.MapDevice(5, 14, name => new StrobeColorDimmer(name));
            light5_15 = lorImport.MapDevice(5, 15, name => new StrobeColorDimmer(name));
            light5_16 = lorImport.MapDevice(5, 16, name => new StrobeColorDimmer(name));
            */

            light5_1 = lorImport.MapDevice(new Import.LorImport.UnitCircuit(5, 1), name => new StrobeColorDimmer(name));

            for (int unit = 1; unit <= 5; unit++)
            {
                for (int circuit = 1; circuit <= 16; circuit++)
                {
                    int pixelPos = (unit - 1) * 16 + circuit - 1;

                    var pixel = lorImport.MapDevice(new Import.LorImport.UnitCircuit(unit, circuit), name => new SinglePixel(name, allPixels, pixelPos));

            //FIXME                    var color = lorImport.GetChannelColor(unit, circuit);
            //FIXME                    allPixels.SetColor(pixelPos, color, 0);

                    log.Debug("Mapping unit {0}  circuit {1} to pixel {2} [{3}]", unit, circuit, pixelPos, pixel.Name);
                }
            }

            lorTimeline = lorImport.CreateTimeline(1);
        }
        public HalloweenScene2013B(IEnumerable<string> args)
        {
            this.lastFogRun = DateTime.Now;
            stateMachine = new Controller.EnumStateMachine<States>("Main");

            pulsatingEffect1 = new Effect.Pulsating("Pulse FX 1", S(2), 0.1, 0.5, false);
            pulsatingEffect2 = new Effect.Pulsating("Pulse FX 2", S(2), 0.2, 0.8, false);
            flickerEffect = new Effect.Flicker("Flicker", 0.4, 0.6, false);
            flickerEffect2 = new Effect.Flicker("Flicker 2", 0.4, 0.6, false);
            popOutEffect = new Effect.PopOut("PopOut", S(1));

            hoursSmall = new OperatingHours("Hours Small");
            hoursFull = new OperatingHours("Hours Full");
            buttonMotionCat = new DigitalInput("Walkway Motion");
            buttonMotionBeauty = new DigitalInput("Beauty Motion");
            buttonTriggerStairs = new DigitalInput("Stairs Trigger 1");
            buttonTriggerPopup = new DigitalInput("Popup Trigger");
            buttonTestA = new DigitalInput("Test A");
            buttonTestB = new DigitalInput("Test B");
            buttonTestC = new DigitalInput("Test C");
            buttonTestSpider = new DigitalInput("Spider");

            switchDeadendDrive = new Switch("Deadend dr");
            catLights = new Switch("Cat lights");
            catFan = new Switch("Cat");

            georgeMotor = new MotorWithFeedback("George Motor");
            lightPopup = new StrobeDimmer("Popup light");
            lightGeorge = new StrobeColorDimmer("George light");
            lightBeauty = new StrobeColorDimmer("Beauty light");
            lightFloor = new StrobeColorDimmer("Floor light");
            lightSign = new StrobeColorDimmer("Sign");
            skullsLight = new Dimmer("Skulls");
            lightTreeGhost = new Dimmer("Ghosts in tree");
            skullsLight2 = new Dimmer("Skulls 2");
            lightSpiderWeb = new Dimmer("Spiderweb");
            lightEyes = new Switch("Eyes");

            audioCat = new AudioPlayer("Audio Cat");
            audioGeorge = new AudioPlayer("Audio George");
            audioBeauty = new AudioPlayer("Audio Beauty");
            audioSpider = new AudioPlayer("Audio Spider");

            switchHand = new Switch("Hand");
            switchHead = new Switch("Head");
            switchDrawer1 = new Switch("Drawer 1");
            switchDrawer2 = new Switch("Drawer 2");
            switchPopEyes = new Switch("Pop Eyes");
            switchPopUp = new Switch("Pop Up");
            switchSpider = new Switch("Spider");
            switchSpiderEyes1 = new Switch("Spider Eyes 1");
            switchSpiderEyes2 = new Switch("Spider Eyes 2");
            switchFog = new Switch("Fog");

            allPixels = new VirtualPixel1D("All Pixels", 28 + 50);
        }
        public HalloweenScene2013B(IEnumerable<string> args)
        {
            this.lastFogRun = DateTime.Now;
            stateMachine = new Controller.EnumStateMachine<States>("Main");

            pulsatingEffect1 = new Effect.Pulsating(S(2), 0.1, 0.5, false);
            pulsatingEffect2 = new Effect.Pulsating(S(2), 0.2, 0.8, false);
            flickerEffect = new Effect.Flicker(0.4, 0.6, false);
            flickerEffect2 = new Effect.Flicker(0.4, 0.6, false);
            popOutEffect = new Effect.PopOut(S(1));

            hoursSmall = new OperatingHours("Hours Small");
            hoursFull = new OperatingHours("Hours Full");
            buttonMotionCat = new DigitalInput("Walkway Motion");
            buttonMotionBeauty = new DigitalInput("Beauty Motion");
            buttonTriggerStairs = new DigitalInput("Stairs Trigger 1");
            buttonTriggerPopup = new DigitalInput("Popup Trigger");
            buttonTestA = new DigitalInput("Test A");
            buttonTestB = new DigitalInput("Test B");
            buttonTestC = new DigitalInput("Test C");
            buttonTestSpider = new DigitalInput("Spider");

            switchDeadendDrive = new Switch("Deadend dr");
            catLights = new Switch("Cat lights");
            catFan = new Switch("Cat");

            georgeMotor = new MotorWithFeedback("George Motor");
            lightPopup = new StrobeDimmer("Popup light");
            lightGeorge = new StrobeColorDimmer("George light");
            lightBeauty = new StrobeColorDimmer("Beauty light");
            lightFloor = new StrobeColorDimmer("Floor light");
            lightSign = new StrobeColorDimmer("Sign");
            skullsLight = new Dimmer("Skulls");
            lightTreeGhost = new Dimmer("Ghosts in tree");
            skullsLight2 = new Dimmer("Skulls 2");
            lightSpiderWeb = new Dimmer("Spiderweb");
            lightEyes = new Switch("Eyes");

            audioCat = new AudioPlayer("Audio Cat");
            audioGeorge = new AudioPlayer("Audio George");
            audioBeauty = new AudioPlayer("Audio Beauty");
            audioSpider = new AudioPlayer("Audio Spider");

            switchHand = new Switch("Hand");
            switchHead = new Switch("Head");
            switchDrawer1 = new Switch("Drawer 1");
            switchDrawer2 = new Switch("Drawer 2");
            switchPopEyes = new Switch("Pop Eyes");
            switchPopUp = new Switch("Pop Up");
            switchSpider = new Switch("Spider");
            switchSpiderEyes1 = new Switch("Spider Eyes 1");
            switchSpiderEyes2 = new Switch("Spider Eyes 2");
            switchFog = new Switch("Fog");

            allPixels = new VirtualPixel1D(28 + 50);

            // Cat
            raspberry1.DigitalInputs[0].Connect(buttonMotionCat);
            raspberry1.DigitalInputs[4].Connect(buttonTriggerStairs, true);
            raspberry1.DigitalOutputs[0].Connect(switchDeadendDrive);
            raspberry1.DigitalOutputs[1].Connect(switchFog);
            raspberry1.Motor.Connect(georgeMotor);

            raspberry1.Connect(audioCat);

            // Beauty
            raspberry2.Connect(audioBeauty);
            raspberry2.DigitalOutputs[7].Connect(switchHand);
            raspberry2.DigitalOutputs[2].Connect(switchHead);
            raspberry2.DigitalOutputs[5].Connect(switchDrawer1);
            raspberry2.DigitalOutputs[6].Connect(switchDrawer2);
            raspberry2.DigitalOutputs[3].Connect(switchPopEyes);
            raspberry2.DigitalOutputs[4].Connect(switchPopUp);

            raspberry2.DigitalInputs[5].Connect(buttonMotionBeauty, true);
            raspberry2.DigitalInputs[6].Connect(buttonTriggerPopup, true);

            // Background/George
            raspberry3.Connect(audioGeorge);

            // Spider
            raspberry4.Connect(audioSpider);

            raspberry4.DigitalOutputs[0].Connect(switchSpider);
            raspberry4.DigitalOutputs[2].Connect(switchSpiderEyes1);
            raspberry4.DigitalOutputs[3].Connect(switchSpiderEyes2);
        }