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()); } }
public HueSolidColorVisualizer( Configuration config, HueOutput hue ) { this.config = config; this.hue = hue; this.hue.RegisterVisualizer(this); }
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(); }
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 )); }