SunsetHigh.BGMusic.FadeInOutSampleProviderAdapted.FadeIn C# (CSharp) Method

FadeIn() private method

private FadeIn ( float buffer, int offset, int sourceSamplesRead ) : void
buffer float
offset int
sourceSamplesRead int
return void
            private void FadeIn(float[] buffer, int offset, int sourceSamplesRead)
            {
                int sample = 0;
                while (sample < sourceSamplesRead)
                {
                    float multiplier = (fadeSamplePosition / (float)fadeSampleCount);
                    for (int ch = 0; ch < source.WaveFormat.Channels; ch++)
                    {
                        buffer[offset + sample++] *= multiplier;
                    }
                    fadeSamplePosition++;
                    if (fadeSamplePosition > fadeSampleCount)
                    {
                        fadeState = FadeState.FullVolume;
                        // no need to multiply any more
                        break;
                    }
                }
            }