static void Main(string [] args) { foreach (string midiFilename in args) { try { // Open midi file MidiSequence sequence = MidiSequence.Import(midiFilename); // Spit out format info and ask for new format int oldFormat = sequence.Format; int newFormat = 0; if (oldFormat != newFormat) { // Create the new midi file MidiSequence newSequence = MidiSequence.Convert( sequence, newFormat, MidiSequence.FormatConversionOptions.CopyTrackToChannel); // Write out the new converted file string newFilename = midiFilename + "." + newFormat + ".mid"; newSequence.Save(newFilename); // Let the user know Console.WriteLine("Converted {0}\r\n\tFrom type {1}\r\n\tTo type {2}\r\n\tSaved to {3}", midiFilename, oldFormat, newFormat, newFilename); } else { Console.WriteLine("File {0} is already type {1}.", midiFilename, newFormat); } } catch (Exception exc) { // Let the user know something went wrong Console.WriteLine("Converting {0}\r\n\t{1}", midiFilename, exc.Message); } } Console.WriteLine(""); Console.WriteLine("Hit enter to exit..."); Console.ReadLine(); }