using NLayer.NAudioSupport; namespace QuikDawEditor.EditingClasses; public partial class Clip { internal string clipSourceFullPath { get { return EditingProjectClipsDirectory + "\\" + this.ClipSourceFileName; } } public void GetMp3FileInfo() { var builder = new Mp3FileReaderBase.FrameDecompressorBuilder(wf => new Mp3FrameDecompressor(wf)); Mp3FileReaderBase mp3reader = new Mp3FileReaderBase(clipSourceFullPath, builder); this.ClipSourceLenMilliseconds = mp3reader.TotalTime.TotalMilliseconds; if (this.ClipWidthMs <=0) this.ClipWidthMs = this.ClipSourceLenMilliseconds; WaveformPeaks = GetWaveformPeakValues(mp3reader); this.WaveFormatString = mp3reader.WaveFormat.SampleRate.ToString() + " " + mp3reader.WaveFormat.BitsPerSample + " " + mp3reader.WaveFormat.Channels; mp3reader.Close(); } public void GetWavFileInfo() { WaveFileReader wfReader = new WaveFileReader(clipSourceFullPath); this.ClipSourceLenMilliseconds = wfReader.TotalTime.TotalMilliseconds; WaveformPeaks = GetWaveformPeakValues(wfReader.ToSampleProvider(), this.ClipSourceLenMilliseconds); this.WaveFormatString = wfReader.WaveFormat.SampleRate.ToString() + " " + wfReader.WaveFormat.BitsPerSample + " " + wfReader.WaveFormat.Channels; wfReader.Close(); } }