float[] GetSamples()
        {
            var source = new WaveSource(0, 50, new List <Vector2>()
            {
                new Vector2(0, 1),
                new Vector2(50, 1),
            }, 0);

            source.SetWaveData(GetWavBytes());
            var data = new float[2205];

            source.Mix(0, data, 0, 2205);
            return(data);
        }
        public void ReadWithOffsetTest()
        {
            var source = new WaveSource(30, 50, new List <Vector2>()
            {
                new Vector2(0, 1),
                new Vector2(50, 1),
            }, 0);

            source.SetWaveData(GetWavBytes());

            var buffer = new float[500];
            int pos    = 0;
            int newPos;

            while ((newPos = source.Mix(pos, buffer, 0, 500)) > pos)
            {
                output.WriteLine($"new pos {newPos}");
                pos = newPos;
            }
            output.WriteLine($"pos {pos}");
            Assert.Equal(44100 * 80 / 1000, pos);
        }