public SampleAggregator(ISampleProvider source, 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; }
protected virtual void OnFftCalculated(FftEventArgs e) { EventHandler<FftEventArgs> handler = FftCalculated; if (handler != null) handler(this, e); }