private void Open_Clicked(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "MIDI Files (*.mid)|*.mid|All Files (*.*)|*.*";
openFileDialog.FilterIndex = 1;
if (openFileDialog.ShowDialog().Value) {
try {
midiPlayer.OnClosingOperations();
midiPlayer.OnClosedOperations();
} catch (NullReferenceException ex) { }
HideSubCanvas();
ResetSubCanvas(true);
HideCanvasChildren();
b_AnimationStarted = false;
CompositionTarget.Rendering -= MoveCanvas;
CompositionTarget.Rendering -= CanvasNotesScheduledAdder;
normal.Visibility = Visibility.Hidden;
try {
loadingScreen.Visibility = Visibility.Hidden;
} catch (NullReferenceException ex) { }
listViewGrid.Visibility = Visibility.Hidden;
loadingScreen.Visibility = Visibility.Visible;
i_Channel = -1;
midiPlayer = new MidiPlayer(
openFileDialog.FileName,
HandleMIDILoadProgressChanged,
HandleMIDILoadCompleted,
HandleMIDIChannelMessagePlayed,
HandleMIDIPlayingCompleted);
//midiPlayerForPreview = new MidiPlayer(midiPlayer.Sequence, midiPlayer.Sequencer);
midiPlayer.PlayOtherChannels = true;
midiInfo.Refresh(openFileDialog.FileName, i_Channel);
tb_listViewTitle.Text = midiInfo.Title;
}
}