private void DisengageButtons() { if (State == PlayerState.PLAYING) { stopDown.UpdatePlayback(true); SetSoundPlayback(false, false); cassetteButtons.PlayButton.ButtonState = CassetteButtons.Button.State.UP; } else if (State == PlayerState.RECORDING) { stopDown.UpdatePlayback(true); SetSoundRecording(false); mixer.StopRecording(); cassetteButtons.RecButton.ButtonState = CassetteButtons.Button.State.UP; cassetteButtons.PlayButton.ButtonState = CassetteButtons.Button.State.UP; } else if (State == PlayerState.REWIND) { stopDown.UpdatePlayback(true); rewNoise.UpdatePlayback(false); rewindStopwatch.Stop(); cassetteButtons.RewButton.ButtonState = CassetteButtons.Button.State.UP; } else if (State == PlayerState.FF) { stopDown.UpdatePlayback(true); ffNoise.UpdatePlayback(false); rewindStopwatch.Stop(); cassetteButtons.FfButton.ButtonState = CassetteButtons.Button.State.UP; } }
private void SetSoundPlayback(bool setPlaying, bool slowChange) { int sampleCount = slowChange ? music.wavFile.sampleRate * 2 / 5 : music.wavFile.sampleRate * 2 / 20; if (!isPauseFullyPressed) { if (setPlaying) { music.RampSpeed(0.0f, 1.0f, sampleCount); music.UpdatePlayback(true); isTapePaused = false; } else { music.RampSpeed(1.0f, 0.0f, sampleCount); isTapePaused = true; } } }