public ProjectBackgroundAudio(Project project, DatWad datWad, DatItem datItem) { _lastChanged = DateTime.MinValue; _lastApplied = DateTime.MinValue; _previewLastCreated = DateTime.MinValue; _recordChange = false; if (_names == null) { _names = new Dictionary<string, string>(); _names.Add("menbulls.wav", "Rage Against the Machine - Bulls on Parade"); _names.Add("menfrget.wav", "Slipknot - Before I Forget"); _names.Add("menjungl.wav", "Guns N Roses - Welcome to the Jungle"); _names.Add("menpaint.wav", "The Rolling Stones - Paint It Black"); _names.Add("menevenf.wav", "Pearl Jam - Even Flow"); _names.Add("menmonst.wav", "Matchbook Romance - Monsters"); _names.Add("menswte.wav ", "Aerosmith - Sweet Emotion"); _names.Add("menmama.wav ", "Aerosmith - Mama Kin"); _names.Add("menlove.wav ", "Aerosmith - Love in an Elavator"); _names.Add("menragd.wav ", "Aerosmith - Rag Doll"); _names.Add("mentoys.wav ", "Aerosmith - Toys In The Atic"); _names.Add("menwalk.wav ", "Aerosmith - Walk This Way"); } _name = _names[datWad.ReadInternalFileName(datItem)]; _project = project; _datWad = datWad; _datItem = datItem; _audioFiles = new AudioFileList(this.AudioFileListChanged, _project); _rawFiles = new Dictionary<string, string>(); _rawLengths = new Dictionary<string, int>(); string mask = @"{0}\{1}.wav"; _compressedAudioFile = string.Format(mask, _project.GetWorkingPath(WorkingFileType.Compressed), this.Name); mask = @"{0}\{1}.raw.wav"; _rawAudioFile = string.Format(mask, _project.GetWorkingPath(WorkingFileType.RawWav), this.Name); }
internal void AudioFileListChanged(AudioFileList sender, AudioFileChangeType type, AudioFile from, AudioFile to, int index) { this.LastChanged = DateTime.Now; if (type == AudioFileChangeType.Removed || type == AudioFileChangeType.Changed) { FileHelper.Delete(_rawFiles[from.Name]); _rawFiles.Remove(from.Name); _rawLengths.Remove(from.Name); } if (type == AudioFileChangeType.Added || type == AudioFileChangeType.Changed) { string filename = string.Format(@"{0}\{1}_{2}.wav", _project.GetWorkingPath(WorkingFileType.RawWav), _name, QbKey.Create(to.Name).Crc.ToString("X").PadLeft(8, '0')); //if we have no record of the file and it exists then delete it. It may not match what we need FileHelper.Delete(filename); _rawFiles.Add(to.Name, filename); _rawLengths.Add(to.Name, 0); } }