/// <summary> /// Gets the appropriate physical data reader for a given file /// </summary> /// <param name="formatId">ID of the format</param> /// <param name="path">Path of the file</param> /// <returns>AudioDataReader able to give info about the file's contents (or the dummy reader if the format is unknown)</returns> public AudioDataReader GetDataReader(String path, int formatId) { AudioDataReader theDataReader = null; switch (formatId) { case CID_MP3: theDataReader = new BinaryLogic.TMPEGaudio(); break; case CID_OGG: theDataReader = new BinaryLogic.TOggVorbis(); break; case CID_MPC: theDataReader = new BinaryLogic.TMPEGplus(); break; case CID_FLAC: theDataReader = new BinaryLogic.TFLACFile(); break; case CID_APE: theDataReader = new BinaryLogic.TMonkey(); break; case CID_WMA: theDataReader = new BinaryLogic.TWMAfile(); break; case CID_MIDI: theDataReader = new BinaryLogic.Midi(); break; case CID_AAC: theDataReader = new BinaryLogic.TAACfile(); break; case CID_AC3: theDataReader = new BinaryLogic.TAC3(); break; case CID_OFR: theDataReader = new BinaryLogic.TOptimFrog(); break; case CID_WAVPACK: theDataReader = new BinaryLogic.TWAVPackfile(); break; case CID_WAV: theDataReader = new BinaryLogic.TWAVfile(); break; case CID_PSF: theDataReader = new BinaryLogic.TPSFFile(); break; case CID_SPC: theDataReader = new BinaryLogic.TSPCFile(); break; default: theDataReader = new BinaryLogic.DummyReader(); break; } theDataReader.ReadFromFile(path); return(theDataReader); }
/// <summary> /// Gets the appropriate physical data reader for a given file and format codec /// </summary> /// <param name="path">The path of the file</param> /// <param name="code">The codec of the file</param> /// <returns>AudioDataReader able to give info about the file's contents (or the dummy reader if the format is unknown)</returns> public IAudioReader GetDataReader(String path, Codec codec) { IAudioReader theDataReader = null; switch (codec) { case Codec.MP3: theDataReader = new BinaryLogic.TMPEGaudio(); break; case Codec.OGG: theDataReader = new BinaryLogic.TOggVorbis(); break; case Codec.MPC: theDataReader = new BinaryLogic.TMPEGplus(); break; case Codec.FLAC: theDataReader = new BinaryLogic.TFLACFile(); break; case Codec.APE: theDataReader = new BinaryLogic.TMonkey(); break; case Codec.WMA: theDataReader = new BinaryLogic.TWMAfile(); break; case Codec.MIDI: theDataReader = new BinaryLogic.Midi(); break; case Codec.AAC: theDataReader = new BinaryLogic.TAACfile(); break; case Codec.AC3: theDataReader = new BinaryLogic.TAC3(); break; case Codec.OFR: theDataReader = new BinaryLogic.TOptimFrog(); break; case Codec.WAVPACK: theDataReader = new BinaryLogic.TWAVPackfile(); break; case Codec.WAV: theDataReader = new BinaryLogic.TWAVfile(); break; case Codec.PSF: theDataReader = new BinaryLogic.TPSFFile(); break; case Codec.SPC: theDataReader = new BinaryLogic.TSPCFile(); break; default: theDataReader = new BinaryLogic.DummyReader(); break; } theDataReader.ReadFromFile(path); return(theDataReader); }