// Events private void OnPlayerMidiLoad(Object o, EventArgs e) { OnMidiTrackLoad?.Invoke(o, player.LoadedTrack); // this will also update the keyboard OctaveShift = player.GetTrackPreferredOctaveShift(player.LoadedTrack); TotalProgressInfo.Invoke(t => t.Text = player.MaxTime); trackNumLut.Clear(); for (int i = 0; i < player.Sequence.Count; i++) { trackNumLut[player.Sequence[i]] = i; } UpdatePlayer(); }
// Events private void OnPlayerMidiLoad(Object o, EventArgs e) { OnMidiTrackLoad?.Invoke(o, player.LoadedTrack); UpdateKeyboard(player.LoadedTrack); TotalProgressInfo.Invoke(t => t.Text = player.MaxTime); string lyric = (player.LyricNum > 0) ? string.Format("{0} lyric(s)", player.LyricNum) : string.Empty; InfoHasLyrics.Invoke(t => t.Text = lyric); trackNumLut.Clear(); for (int i = 0; i < player.Sequence.Count; i++) { trackNumLut[player.Sequence[i]] = i; } UpdatePlayer(); }