private void UpdateFade() { switch (FadeState) { case MusicFadeStates.FadingOut: case MusicFadeStates.FadingIn: if (FadeRemaining > 0) { FadeRemaining--; } Volume = this.FadeVolume; if (FadeRemaining == 0) { if (FadeState == MusicFadeStates.FadingOut) { FadeState = MusicFadeStates.FadedOut; } else { FadeState = MusicFadeStates.FadedIn; } } break; case MusicFadeStates.FadedOut: case MusicFadeStates.FadedIn: if (FadeState == MusicFadeStates.FadedOut) { Pause(); } EndFade(); break; } }
public void FadeIn(int time) { // If already fading out, adjust fadeout time to keep the // current volume the same if (this.IsFadeOut) { FadeRemaining = time - ((FadeRemaining * time) / FadeTime); } else if (this.IsFadeIn) { FadeRemaining = (FadeRemaining * time) / FadeTime; } else { FadeRemaining = time; } FadeTime = time; FadeState = MusicFadeStates.FadingIn; Volume = this.FadeVolume; RefreshVolume(); }
private void EndFade() { FadeRemaining = 0; FadeState = MusicFadeStates.None; Volume = this.FadeVolume; }