private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { TimingSection t = null; bool chartS = false; string temp = (string)timingBox.SelectedItem; string[] split = temp.Split(','); foreach (var pair in parent.CurrentSong.Timings) { if (pair.Key == Convert.ToInt32(split[0])) { t = pair.Value; } } foreach (TimingSection s in parent.Chart.Sections) { if (s.Offset == Convert.ToInt32(split[0])) { t = s; chartS = true; } } if (t != null) { offsetBox.Text = "" + t.Offset; bpmBox.Text = "" + 60 / (t.Snap / 1000); diffSpecBox.CheckedChanged -= new EventHandler(specChange); diffSpecBox.Checked = chartS; diffSpecBox.CheckedChanged += new EventHandler(specChange); bpmChange.CheckedChanged -= new EventHandler(timingLeave); bpmChange.Checked = t.ChangeSnap; bpmChange.CheckedChanged += new EventHandler(timingLeave); if (t.ChangeSnap) { bpmBox.Enabled = true; } else { bpmBox.Enabled = false; } } selectedTimingOffset = Convert.ToInt32(offsetBox.Text); }
private void specChange(object sender, EventArgs e) { if (diffSpecBox.Checked) { TimingSection s = null; try { foreach (var pair in parent.CurrentSong.Timings) { if (pair.Key == selectedTimingOffset) { s = pair.Value; parent.CurrentSong.Timings.Remove(selectedTimingOffset); break; } } parent.Chart.Sections.Add(s); parent.CurrentSong.remakeLists(parent.Chart); timingBox.Items.Clear(); popTiming(); } catch { } } else { TimingSection s = null; foreach (TimingSection t in parent.Chart.Sections) { if (t.Offset == selectedTimingOffset) { s = t; parent.Chart.Sections.Remove(t); break; } } parent.CurrentSong.Timings.Add(selectedTimingOffset, s); parent.CurrentSong.remakeLists(parent.Chart); timingBox.Items.Clear(); popTiming(); } }