public void FftCalculatedFired(object s, FftEventArgs a)
 {
     try
     {
         Dispatcher.Invoke((Action) delegate()
         {
             spectrumAnalyser.Update(a.Result);
         });
     }
     catch (Exception ex)
     {
         Debug.WriteLine("\n" + ex + "\n");
     }
 }
Пример #2
0
        //private readonly int channels;

        public SampleAggregator(ISampleProvider source, EqualizerBand[] bands) : base(source, bands)
        {
            int fftLength = 1024;

            //channels = source.WaveFormat.Channels;
            if (!IsPowerOfTwo(fftLength))
            {
                throw new ArgumentException("FFT Length must be a power of two");
            }
            this.m         = (int)Math.Log(fftLength, 2.0);
            this.fftLength = fftLength;
            this.fftBuffer = new Complex[fftLength];
            this.fftArgs   = new FftEventArgs(fftBuffer);
            this.source    = source;
        }