예제 #1
0
        /// ------------------------------------------------------------------------------------
        public SegmenterDlgBaseViewModel(ComponentFile file)
        {
            ComponentFile  = file;
            OrigWaveStream = new WaveFileReader(ComponentFile.PathToAnnotatedFile);

            Tiers = file.GetAnnotationFile() != null?
                    file.GetAnnotationFile().Tiers.Copy() : new TierCollection(ComponentFile.PathToAnnotatedFile);

            TimeTier = Tiers.GetTimeTier();

            if (TimeTier == null)
            {
                TimeTier = new TimeTier(ComponentFile.PathToAnnotatedFile);
                Tiers.Insert(0, TimeTier);
            }

            OralAnnotationsFolder = ComponentFile.PathToAnnotatedFile +
                                    Settings.Default.OralAnnotationsFolderSuffix;

            TempOralAnnotationsFolder = Path.Combine(Path.GetTempPath(), "SayMoreOralAnnotations");
            if (Directory.Exists(TempOralAnnotationsFolder))
            {
                foreach (var tempFile in Directory.EnumerateFiles(TempOralAnnotationsFolder))
                {
                    File.Delete(tempFile);
                }
            }
            _oralAnnotationFilesBeforeChanges = GetListOfOralAnnotationSegmentFilesBeforeChanges().ToList();
            TimeTier.BackupOralAnnotationSegmentFileAction = BackupOralAnnotationSegmentFile;
        }