コード例 #1
0
 private void WaitUntilNotBusy(PresetGatherer gatherer)
 {
     while (gatherer.Busy)
     {
         Thread.Sleep(100);
     }
 }
コード例 #2
0
        public static ExpectedEvent ExpectNewDataAvailable(this PresetGatherer gatherer)
        {
            var x = new ExpectedEvent();

            gatherer.NewDataAvailable += x.Event;
            return(x);
        }
コード例 #3
0
ファイル: NewComponentFile.cs プロジェクト: konaken73/saymore
 /// ------------------------------------------------------------------------------------
 public NewComponentFile(string pathToAnnotatedFile, IEnumerable <FileType> fileTypes,
                         IEnumerable <ComponentRole> componentRoles, XmlFileSerializer xmlFileSerializer,
                         IProvideAudioVideoFileStatistics statisticsProvider, PresetGatherer presetProvider,
                         FieldUpdater fieldUpdater)
     : base(null, pathToAnnotatedFile, fileTypes, componentRoles,
            xmlFileSerializer, statisticsProvider, presetProvider, fieldUpdater)
 {
     _fileTypes = fileTypes;
     Selected   = true;
 }
コード例 #4
0
 /// ------------------------------------------------------------------------------------
 public ComponentFileFactory(IEnumerable <FileType> fileTypes,
                             IEnumerable <ComponentRole> componentRoles, XmlFileSerializer xmlFileSerializer,
                             IProvideAudioVideoFileStatistics statisticsProvider,
                             PresetGatherer presetProvider, FieldUpdater fieldUpdater)
 {
     _fileTypes          = fileTypes;
     _componentRoles     = componentRoles;
     _xmlFileSerializer  = xmlFileSerializer;
     _statisticsProvider = statisticsProvider;
     _presetProvider     = presetProvider;
     _fieldUpdater       = fieldUpdater;
 }
コード例 #5
0
ファイル: ComponentFile.cs プロジェクト: vkarthim/saymore
        /// ------------------------------------------------------------------------------------
        public void Dispose()
        {
            if (_annotationFile != null)
            {
                _annotationFile.Dispose();
            }
            _annotationFile = null;

            _xmlFileSerializer  = null;
            _statisticsProvider = null;
            _presetProvider     = null;
            _fieldUpdater       = null;
            MetaDataFieldValues = null;
            ParentElement       = null;
        }
コード例 #6
0
ファイル: ProjectContext.cs プロジェクト: konaken73/saymore
        /// ------------------------------------------------------------------------------------
        public ProjectContext(string projectSettingsPath, IContainer parentContainer)
        {
            var rootDirectoryPath = Path.GetDirectoryName(projectSettingsPath);

            BuildSubContainerForThisProject(rootDirectoryPath, parentContainer);

            Project = _scope.Resolve <Func <string, Project> >()(projectSettingsPath);

            SetContributorsListToSession(Project.SessionsFolder);

            var peopleRepoFactory = _scope.Resolve <ElementRepository <Person> .Factory>();

            peopleRepoFactory(rootDirectoryPath, Person.kFolderName, _scope.Resolve <PersonFileType>());

            var sessionRepoFactory = _scope.Resolve <ElementRepository <Session> .Factory>();

            sessionRepoFactory(rootDirectoryPath, Session.kFolderName, _scope.Resolve <SessionFileType>());

            // Create background operations
            _presetGatherer            = _scope.Resolve <PresetGatherer>();
            _autoCompleteValueGatherer = _scope.Resolve <AutoCompleteValueGatherer>();
            _audioVideoDataGatherer    = _scope.Resolve <AudioVideoDataGatherer>();
            _fieldGatherer             = _scope.Resolve <FieldGatherer>();

            // Start background operations
            _presetGatherer.Start();
            _autoCompleteValueGatherer.Start();
            _audioVideoDataGatherer.Start();
            _fieldGatherer.Start();

            var view1 = _scope.Resolve <ProjectScreen>();
            var view2 = _scope.Resolve <SessionsListScreen>();
            var view3 = _scope.Resolve <PersonListScreen>();

            var views = new ISayMoreView[]
            {
                view1,
                view2,
                view3
            };

            ProjectWindow = _scope.Resolve <ProjectWindow.Factory>()(projectSettingsPath, views);
        }
コード例 #7
0
ファイル: ComponentFile.cs プロジェクト: vkarthim/saymore
        /// ------------------------------------------------------------------------------------
        public ComponentFile(ProjectElement parentElement,
                             string pathToAnnotatedFile,
                             IEnumerable <FileType> fileTypes,
                             IEnumerable <ComponentRole> componentRoles,
                             XmlFileSerializer xmlFileSerializer,
                             IProvideAudioVideoFileStatistics statisticsProvider,
                             PresetGatherer presetProvider,
                             FieldUpdater fieldUpdater)
        {
            ParentElement = parentElement;
            SetPathToFile(pathToAnnotatedFile);
            _componentRoles     = componentRoles;
            _xmlFileSerializer  = xmlFileSerializer;
            _statisticsProvider = statisticsProvider;
            _presetProvider     = presetProvider;
            _fieldUpdater       = fieldUpdater;

            DetermineFileType(pathToAnnotatedFile, fileTypes);

            // we musn't do anything to remove the existing extension, as that is needed
            // to keep, say, foo.wav and foo.txt separate. Instead, we just append ".meta"
            //_metaDataPath = ComputeMetaDataPath(pathToAnnotatedFile);

            MetaDataFieldValues = new List <FieldInstance>();

            Guard.AgainstNull(FileType, "At runtime (maybe not in tests) FileType should go to a type intended for unknowns");

            _metaDataPath = FileType.GetMetaFilePath(pathToAnnotatedFile);

            RootElementName = "MetaData";

            if (File.Exists(_metaDataPath))
            {
                LoadNow();
            }

            InitializeFileInfo();
        }
コード例 #8
0
 public static string FirstValueOfFirstPreset(this PresetGatherer gatherer)
 {
     return(gatherer.GetPresets().First().Value.Values.First());
 }