public static (DialogResult DialogResult, double BPM, double MusicOffset) RequestInput(IWin32Window parentWindow, ProjectSettings projectSettings, PrimaryBeatMode primaryBeatMode) { using (var f = new FBeatmapSettings()) { f.Localize(LanguageManager.Current); f._bpm = projectSettings.BeatPerMinute; f._musicOffset = projectSettings.StartTimeOffset; f._primaryBeatMode = primaryBeatMode; f.MonitorLocalizationChange(); var r = f.ShowDialog(parentWindow); f.UnmonitorLocalizationChange(); var bpm = f._bpm; var offset = f._musicOffset; return(r, bpm, offset); } }
private void CmdProjectBeatmapSettings_Executed(object sender, ExecutedEventArgs e) { var project = visualizer.Editor.Project; if (project == null) { return; } var(r, bpm, offset) = FBeatmapSettings.RequestInput(this, project.Project.Settings, visualizer.Editor.Look.PrimaryBeatMode); if (r == DialogResult.Cancel) { return; } project.Project.Settings.BeatPerMinute = bpm; project.Project.Settings.StartTimeOffset = offset; InformProjectModified(); visualizer.RecalcLayout(); visualizer.Editor.UpdateBarStartTimeText(); }