public void InitFromFile(string strFilename, string type) { Filename = strFilename; if (!File.Exists(strFilename) || !strFilename.EndsWith(".wav", StringComparison.CurrentCultureIgnoreCase)) { return; } var waveInfo1 = new Wrapper.WaveInfo(); FileStatus waveInfo2; try { waveInfo2 = Wrapper.GetWaveInfo(strFilename, waveInfo1); } catch (Exception) { return; } if (waveInfo2 != FileStatus.kSuccess) { return; } if (waveInfo1.mIsCompressed != 0) { throw new MagmaException("Wave file " + strFilename + " is compressed."); } Length = WavUtl.GetWavLength(waveInfo1); NumChannels = waveInfo1.mNumChannels; SampleRate = waveInfo1.mSampleRate; mStrType = type; BitsPerSample = waveInfo1.mBitsPerSample; }
public TrackInfo(string strFilename, string type, float pan, float attenuation, bool enabled) { mStrType = type; Enabled = enabled; Filename = strFilename; NumChannels = 0; SampleRate = 0; Length = 0; panLeft = pan; volLeft = attenuation; if (!File.Exists(strFilename) || !strFilename.EndsWith(".wav", StringComparison.CurrentCultureIgnoreCase)) { return; } var waveInfo1 = new Wrapper.WaveInfo(); FileStatus waveInfo2; try { waveInfo2 = Wrapper.GetWaveInfo(strFilename, waveInfo1); } catch (Exception) { return; } if (waveInfo2 != FileStatus.kSuccess) { return; } if (waveInfo1.mIsCompressed != 0) { throw new MagmaException("Wave file " + strFilename + " is compressed."); } Filename = strFilename; NumChannels = waveInfo1.mNumChannels; SampleRate = waveInfo1.mSampleRate; Length = WavUtl.GetWavLength(waveInfo1); BitsPerSample = waveInfo1.mBitsPerSample; SetAttenuation(attenuation); SetPan(pan); }