private void updateEventbtn_Click(object sender, EventArgs e) { if (music.ActiveEvent != -1) { int[] controlData = StaticDataControl.returnControlData(new List <int> { StaticDataControl.returnStatusValues(eventcmb.SelectedIndex, music.Format, music.ActiveTrack), 0, 0 }, music.Format); List <int> pre = new List <int>(); pre.Add((int)valuenum.Value); if (Convert.ToBoolean(controlData[4])) { pre.Add((int)parameter1num.Value); } if (Convert.ToBoolean(controlData[7])) { pre.Add((int)parameter2num.Value); } music.Event = pre; int Y = eventListbox.TopIndex; int activeEvent = music.ActiveEvent; setupEvents(music.ActiveTrack); eventListbox.TopIndex = Y; eventListbox.SetSelected(activeEvent, true); } }
// setup everything after loading the music private void setupMusic() { enableControls(true); // setup event options eventcmb.Items.Clear(); switch (music.Format) { case 0x00: eventcmb.Items.AddRange(StaticDataControl.returnEventOptions(0)); break; case 0x01: eventcmb.Items.AddRange(StaticDataControl.returnEventOptions(1)); break; default: MessageBox.Show("No event options for this format!\nThe process is likely unstable now, please restart the program."); break; } // start with track list setupTracks(); // setup track if (!setupEvents(0)) { enableControls(false); return; } // setup event 0 setupEvent(0); // tell that we have loaded a sequence updateLabelStatus(); // enable stuff prepareProgram(); }
private void addEventbtn_Click(object sender, EventArgs e) { music.addEvent(new List <int> { 0, 0, 0 }); eventListbox.Items.Insert(music.ActiveEvent + 1, StaticDataControl.returnEventListData(new List <int> { 0, 0, 0 }, music.Format)); eventListbox.SetSelected(music.ActiveEvent + 1, true); }
private void eventcmb_SelectedIndexChanged(object sender, EventArgs e) { if (updateCmb) { List <int> pre = new List <int> { StaticDataControl.returnStatusValues(eventcmb.SelectedIndex, music.Format, music.ActiveTrack), 0, 0 }; setupEventControllers(StaticDataControl.returnControlData(pre, music.Format)); } }
// set an event private void setupEvent(int index) { if (updateEvent && index != -1) { music.ActiveEvent = index; int[] data = StaticDataControl.returnControlData(music.Event, music.Format); setupEventControllers(data); eventListbox.SelectedItem = index; } }
// setup a track, Warning: activeEvent is random private bool setupEvents(int track) { eventListbox.Items.Clear(); music.ActiveTrack = track; if (music.ActiveTrackCount > 0) { for (int i = 0; i < music.ActiveTrackCount; i++) { music.ActiveEvent = i; eventListbox.Items.Add(StaticDataControl.returnEventListData(music.Event, music.Format)); } } else { MessageBox.Show("The currently selected sequence has no events."); return(false); } return(true); }