private void cbTrack_SelectedIndexChanged(object sender, EventArgs e) { var track = midiMusic.Tracks[cbTrack.SelectedIndex]; currentTrack = MidiHelper.ToSimpleMidiTrack(track, midiMusic.DeltaTimeSpec); if (midiMachine.IsPlaying) { midiMachine.StopTrack(); } }
private void LoadMidiFile(string filePath) { try { midiMusic = MidiMusic.Read(File.OpenRead(filePath)); if (midiMusic.Tracks.Any()) { var track = midiMusic.Tracks[0]; currentTrack = MidiHelper.ToSimpleMidiTrack(track, midiMusic.DeltaTimeSpec); cbTrack.Items.Clear(); for (int x = 1; x <= midiMusic.Tracks.Count; x++) { cbTrack.Items.Add(x); } cbTrack.SelectedIndex = 0; } } catch (Exception e) { ShowError(e.Message); } }