Пример #1
0
        public HueAudioVisualizer(
            Configuration config,
            AudioInput audio,
            HueOutput hue
            )
        {
            this.config = config;
            this.audio  = audio;
            this.hue    = hue;
            this.hue.RegisterVisualizer(this);

            this.random   = new Random();
            bins          = new Dictionary <String, double[]>();
            energyHistory = new Dictionary <String, float[]>();
            energyLevels  = new Dictionary <String, float>();

            // frequency detection bands
            // format: { bottom freq, top freq, activation level (delta)}
            bins.Add("midrange", new double[] { 250, 2000, .025 });
            bins.Add("total", new double[] { 60, 2000, .05 });
            // specific instruments
            bins.Add("kick", new double[] { 40, 50, .001 });
            bins.Add("snareattack", new double[] { 1500, 2500, .001 });
            foreach (String band in bins.Keys)
            {
                energyLevels.Add(band, 0);
                energyHistory.Add(band, Enumerable.Repeat((float)0, historyLength).ToArray());
            }
        }
Пример #2
0
 public HueSolidColorVisualizer(
     Configuration config,
     HueOutput hue
     )
 {
     this.config = config;
     this.hue    = hue;
     this.hue.RegisterVisualizer(this);
 }
Пример #3
0
 public HueSilentVisualizer(
     Configuration config,
     AudioInput audio,
     HueOutput hue
     )
 {
     this.config = config;
     this.hue    = hue;
     this.audio  = audio;
     this.hue.RegisterVisualizer(this);
     this.stopwatch = new Stopwatch();
     this.stopwatch.Start();
 }
Пример #4
0
        public Operator(Configuration config)
        {
            this.config = config;
            this.operatorThreadBlockingStopwatch = new Stopwatch();
            this.operatorThreadBlockingStopwatch.Start();

            this.frameRateStopwatch = new Stopwatch();
            this.frameRateStopwatch.Start();
            this.framesThisSecond = 0;

            this.inputs = new List <Input>();
            var audio = new AudioInput(config);

            this.inputs.Add(audio);
            var midi = new MidiInput(config);

            this.inputs.Add(midi);

            this.outputs = new List <Output>();
            var hue = new HueOutput(config);

            this.outputs.Add(hue);
            var board = new LEDBoardOutput(config);

            this.outputs.Add(board);
            var dome = new LEDDomeOutput(config);

            this.outputs.Add(dome);
            var bar = new LEDBarOutput(config, dome);

            this.outputs.Add(bar);
            var stage = new LEDStageOutput(config);

            this.outputs.Add(stage);

            this.visualizers = new List <Visualizer>();
            this.visualizers.Add(new HueAudioVisualizer(
                                     this.config,
                                     audio,
                                     hue
                                     ));
            this.visualizers.Add(new LEDPanelVolumeVisualizer(
                                     this.config,
                                     audio,
                                     board
                                     ));
            this.visualizers.Add(new HueSolidColorVisualizer(
                                     this.config,
                                     hue
                                     ));
            this.visualizers.Add(new HueSilentVisualizer(
                                     this.config,
                                     audio,
                                     hue
                                     ));
            this.visualizers.Add(new LEDPanelMidiVisualizer(
                                     this.config,
                                     midi,
                                     board
                                     ));
            this.visualizers.Add(new LEDDomeMidiTestVisualizer(
                                     this.config,
                                     midi,
                                     dome
                                     ));
            this.visualizers.Add(new LEDDomeStrutIterationDiagnosticVisualizer(
                                     this.config,
                                     dome
                                     ));
            this.visualizers.Add(new LEDDomeFlashColorsDiagnosticVisualizer(
                                     this.config,
                                     dome
                                     ));
            this.visualizers.Add(new LEDDomeStrandTestDiagnosticVisualizer(
                                     this.config,
                                     dome
                                     ));
            this.visualizers.Add(new LEDDomeVolumeVisualizer(
                                     this.config,
                                     audio,
                                     dome
                                     ));
            this.visualizers.Add(new LEDDomeRadialVisualizer(
                                     this.config,
                                     audio,
                                     dome
                                     ));
            this.visualizers.Add(new LEDDomeJkmdTestVisualizer(
                                     this.config,
                                     audio,
                                     dome
                                     ));
            this.visualizers.Add(new LEDDomeTVStaticVisualizer(
                                     this.config,
                                     dome
                                     ));
            this.visualizers.Add(new LEDDomeFlashVisualizer(
                                     this.config,
                                     audio,
                                     midi,
                                     dome
                                     ));
            this.visualizers.Add(new LEDBarFlashColorsDiagnosticVisualizer(
                                     this.config,
                                     bar
                                     ));
            this.visualizers.Add(new LEDStageFlashColorsDiagnosticVisualizer(
                                     this.config,
                                     stage
                                     ));
            this.visualizers.Add(new LEDStageTracerVisualizer(
                                     this.config,
                                     stage
                                     ));
            this.visualizers.Add(new LEDStageDepthLevelVisualizer(
                                     this.config,
                                     audio,
                                     stage
                                     ));
        }