Ejemplo n.º 1
0
        protected override void DoTaskForFile(string pPath, IVgmtWorkerStruct pExtractMidiStruct, DoWorkEventArgs e)
        {
            long headerOffset = 0;

            using (FileStream fs = File.OpenRead(pPath))
            {
                while ((headerOffset = ParseFile.GetNextOffset(fs, headerOffset, Midi.ASCII_SIGNATURE_MTHD)) > -1)
                {
                    Midi midiFile = new Midi();
                    midiFile.Initialize(fs, pPath, headerOffset);
                    midiFile.ExtractToFile(fs, Path.Combine(Path.GetDirectoryName(pPath), Path.GetFileNameWithoutExtension(pPath)));
                    headerOffset += 1;
                }
            }
        }