private static void Main()
        {
            var kernel = new NinjectKernelHandler().Kernel;
              var waveIn = kernel.Get<WasapiLoopbackCapture>();
              waveIn.StartRecording();

              WriteCaptureSettings(waveIn.WaveFormat);

              var streamRaw = new WaveInProvider(waveIn);

              var streamPitch = new PitchGeneratorProvider(streamRaw, new FftPitchDetector(), new FftPitchDetector(), new FloatDataStereoSplitter(), new PitchResultSummaryWriter());
              var compositeLightSectionBuilder = kernel.Get<FrameBuilder>();
              var notifiationClient = kernel.Get<NotificationClientBase>();
              var streamScene = new SceneGenerator(streamPitch, compositeLightSectionBuilder, notifiationClient);

              var task = new ChromesthesiaTask(streamScene);

              task.Run();
        }
 public SceneGenerator(PitchGeneratorProvider pitchGenerator, FrameBuilder frameBuilder, NotificationClientBase newSceneProcessor)
 {
     this.pitchGenerator = pitchGenerator;
       this.frameBuilder = frameBuilder;
       sceneRunner = newSceneProcessor;
 }