private void ReadFile() { _minMax = MinMaxCache.CreateCascade(_zoomLevels, _reader.SampleCount); _minMaxFst = (MinMaxCacheFirstStage)_minMax[0]; double[] buffer = new double[1000]; float[] toFloat = new float[buffer.Length]; var read = 0L; while ((read = _reader.ReadSamples(buffer, 0, buffer.Length)) > 0) { for (int i = 0; i < read; i++) { toFloat[i] = (float)buffer[i]; } _minMaxFst.ConsumeSamples(toFloat, 0, (int)read); } _reader.Seek(0, System.IO.SeekOrigin.Begin); }
private void Add(float[] samples, int offset, int count) { _minMaxFst.ConsumeSamples(samples, offset, count); _signalBuffer.Enqueue(samples, offset, count); }