public void SaveWithAudio(string fileName) { if (Recorder == null || Recorder.State != RecorderState.Finished) { throw new InvalidOperationException(); } string replay = Game.Replay.Save(); Stream audio = Recorder.Data; audio.Position = 0; AudioLessonFile.Save(fileName, replay, audio); SetUnmodified(); }
public static ViewModel PlayLesson(String filename) { string replay; Stream audio; AudioLessonFile.Load(filename, out replay, out audio); ViewModel view = new ViewModel(); view.Game = new Game(Replay.Parse(replay)); view.Game.Seek(0); view.Name = Path.GetFileName(filename); view.Media = new Player(audio); view.SetUnmodified(); return(view); }
internal void OpenFile(string filename) { ViewModel view; if (AudioLessonFile.IsAudioLesson(filename)) { view = ViewModel.PlayLesson(filename); } else { view = ViewModel.OpenReplay(filename); } GameForm childForm = new GameForm(view); ShowAsMDI(childForm); }
private void FinishButton_Click(object sender, EventArgs e) { //Fixme: Check Error handling bool wasPaused = false; if (audioRecorder != null) { wasPaused = audioRecorder.Paused; audioRecorder.Paused = true; } if (audioRecorder != null) { using (SaveFileDialog dlg = new SaveFileDialog()) { dlg.DefaultExt = ".GoLesson"; dlg.Filter = "Go Audio Lesson|*.GoLesson|All Files|*.*"; if (dlg.ShowDialog() == DialogResult.OK) { string replay = goRecorder.Replay.Save(); audioRecorder.Finish(); Stream audio = audioRecorder.Data; audio.Position = 0; AudioLessonFile.Save(dlg.FileName, replay, audio); FinishButton.Enabled = false; goRecorder = null; audioRecorder = null; } } } else { using (SaveFileDialog dlg = new SaveFileDialog()) { dlg.DefaultExt = ".GoReplay"; dlg.Filter = "Go Replay|*.GoReplay|All Files|*.*"; if (dlg.ShowDialog() == DialogResult.OK) { goRecorder.Replay.Save(dlg.FileName); FinishButton.Enabled = false; goRecorder = null; } } } if (audioRecorder != null) { audioRecorder.Paused = wasPaused; } }