コード例 #1
0
        public void FixtureSetup()
        {
            mockList = new List <Mock> ();
            settings = new CaptureSettings();
            settings.EncodingSettings = new EncodingSettings();
            settings.EncodingSettings.EncodingProfile = EncodingProfiles.MP4;

            App.Current.HotkeysService = new HotkeysService();
            GeneralUIHotkeys.RegisterDefaultHotkeys();
            LMGeneralUIHotkeys.RegisterDefaultHotkeys();

            var playerMock = new Mock <IVideoPlayer> ();

            playerMock.SetupAllProperties();
            mockList.Add(playerMock);

            capturerMock = new Mock <ICapturer> ();
            capturerMock.SetupAllProperties();
            mockList.Add(capturerMock);

            mtkMock = new Mock <IMultimediaToolkit> ();
            mtkMock.Setup(m => m.GetPlayer()).Returns(playerMock.Object);
            mtkMock.Setup(m => m.GetMultiPlayer()).Throws(new Exception());
            mtkMock.Setup(m => m.GetCapturer()).Returns(capturerMock.Object);
            mtkMock.Setup(m => m.DiscoverFile(It.IsAny <string> (), It.IsAny <bool> ()))
            .Returns((string s, bool b) => new MediaFile {
                FilePath = s
            });
            App.Current.MultimediaToolkit = mtkMock.Object;
            mockList.Add(mtkMock);

            gtkMock = new Mock <IGUIToolkit> ();
            gtkMock.SetupGet(o => o.DeviceScaleFactor).Returns(1.0f);
            gtkMock.Setup(m => m.Invoke(It.IsAny <EventHandler> ())).Callback <EventHandler> (e => e(null, null));
            gtkMock.Setup(g => g.RemuxFile(It.IsAny <string> (), It.IsAny <string> (), It.IsAny <VideoMuxerType> ()))
            .Returns(() => settings.EncodingSettings.OutputFile)
            .Callback((string s, string d, VideoMuxerType m) => File.Copy(s, d));
            gtkMock.Setup(g => g.EndCapture(true)).Returns(EndCaptureResponse.Save);
            App.Current.GUIToolkit = gtkMock.Object;
            mockList.Add(gtkMock);

            capturerBinMock = new Mock <ICapturerBin> ();
            capturerBinMock.Setup(w => w.Capturer).Returns(capturerMock.Object);
            capturerBinMock.Setup(w => w.CaptureSettings).Returns(() => settings);
            capturerBinMock.Setup(w => w.Periods).Returns(() => new List <Period> ());
            mockList.Add(capturerBinMock);

            player               = new VideoPlayerController();
            videoPlayerVM        = new VideoPlayerVM();
            videoPlayerVM.Player = player;
            player.SetViewModel(videoPlayerVM);

            currentService = App.Current.LicenseLimitationsService;

            stateControllerMock         = new Mock <IStateController> ();
            App.Current.StateController = stateControllerMock.Object;
        }
コード例 #2
0
        public static void RegisterServices(IGUIToolkit guiToolkit, IMultimediaToolkit multimediaToolkit)
        {
            App.Current.DependencyRegistry.Register <ITimer, Timer> (1);
            App.Current.DependencyRegistry.Register <IStorageManager, CouchbaseManagerLongoMatch> (1);
            App.Current.DependencyRegistry.Register <IFileStorage, LMFileStorage> (1);
            App.Current.MultimediaToolkit = multimediaToolkit;
            App.Current.GUIToolkit        = guiToolkit;
            App.Current.EventsBroker      = new EventsBroker();
            App.Current.EventsBroker.Subscribe <QuitApplicationEvent> (HandleQuitApplicationEvent);

            RegisterService(App.Current.LicenseLimitationsService);

            /* Start DB services */
            dbManager = new DataBaseManager();
            RegisterService(dbManager);

            ts = new TemplatesService();
            RegisterService(ts);

            /* Start the rendering jobs manager */
            jobsManagerVM = new JobsManagerVM {
                Model = new RangeObservableCollection <Job> ()
            };
            App.Current.JobsManager = jobsManagerVM;
            RenderingJobsController jobsController = new RenderingJobsController(jobsManagerVM);

            RegisterService(jobsController);

            /* State the tools manager */
            toolsManager = new ToolsManager();
            RegisterService(toolsManager);
            ProjectsImporter = toolsManager;

            /* Start the hotkeys manager */
            hkManager = new HotKeysManager();
            RegisterService(hkManager);
            App.Current.HotkeysService = new HotkeysService();
            RegisterService(App.Current.HotkeysService);

            GeneralUIHotkeys.RegisterDefaultHotkeys();
            PlaybackHotkeys.RegisterDefaultHotkeys();
            DrawingToolHotkeys.RegisterDefaultHotkeys();
            LMGeneralUIHotkeys.RegisterDefaultHotkeys();

#if DEVEL
            AppUpdater notifier = new AppUpdater("Fluendo", "http://sparkle.fluendo.lan:8080/longomatch.xml");
#else
            AppUpdater notifier = new AppUpdater("Fluendo", "https://s3.amazonaws.com/oneplay-files/longomatch.xml");
#endif
            RegisterService(notifier);
        }
コード例 #3
0
        public static void RegisterServices(IGUIToolkit guiToolkit, IMultimediaToolkit multimediaToolkit)
        {
            App.Current.DependencyRegistry.Register <ITimer, Timer> (1);
            App.Current.DependencyRegistry.Register <ISeeker, Seeker> (1);
            App.Current.DependencyRegistry.Register <IStorageManager, CouchbaseManagerLongoMatch> (1);
            App.Current.DependencyRegistry.Register <IFileStorage, LMFileStorage> (1);
            App.Current.DependencyRegistry.Register <IViewModelFactoryService> (new ViewModelFactoryService());
            App.Current.MultimediaToolkit = multimediaToolkit;
            App.Current.GUIToolkit        = guiToolkit;
            App.Current.EventsBroker      = new EventsBroker();
            App.Current.EventsBroker.Subscribe <QuitApplicationEvent> (HandleQuitApplicationEvent);

            if (App.Current.LicenseLimitationsService != null)
            {
                RegisterService(App.Current.LicenseLimitationsService);
            }

            /* Start DB services */
            dbManager = new DataBaseManager();
            RegisterService(dbManager);

            ts = new TemplatesService();
            RegisterService(ts);

            /* Start the rendering jobs manager */
            jobsManagerVM = new JobsManagerVM {
                Model = new RangeObservableCollection <Job> ()
            };
            App.Current.JobsManager = jobsManagerVM;
            RenderingJobsController jobsController = new RenderingJobsController(jobsManagerVM);

            RegisterService(jobsController);

            /* State the tools manager */
            toolsManager = new ToolsManager();
            RegisterService(toolsManager);
            ProjectsImporter = toolsManager;

            /* Start the hotkeys Service */
            App.Current.HotkeysService = new HotkeysService();
            RegisterService(App.Current.HotkeysService);

            GeneralUIHotkeys.RegisterDefaultHotkeys();
            PlaybackHotkeys.RegisterDefaultHotkeys();
            DrawingToolHotkeys.RegisterDefaultHotkeys();
            LMGeneralUIHotkeys.RegisterDefaultHotkeys();
        }
コード例 #4
0
        public async Task Setup()
        {
            App.Current.HotkeysService = new HotkeysService();
            LMGeneralUIHotkeys.RegisterDefaultHotkeys();
            mockToolkit = new Mock <IGUIToolkit> ();
            mockToolkit.SetupGet(o => o.DeviceScaleFactor).Returns(1.0f);
            App.Current.GUIToolkit = mockToolkit.Object;

            VideoPlayerVM videoPlayer = new VideoPlayerVM {
                CamerasConfig = new RangeObservableCollection <CameraConfig> ()
            };

            LMProject project = Utils.CreateProject();

            projectVM = new LMProjectVM {
                Model = project
            };

            var projectAnalysisVM = new LMProjectAnalysisVM {
                VideoPlayer = videoPlayer, Project = projectVM
            };

            controller = new LMTaggingController();
            controller.SetViewModel(projectAnalysisVM);
            await controller.Start();

            teamController = new LMTeamTaggerController();
            teamController.SetViewModel(projectAnalysisVM);
            await teamController.Start();

            resetEvent = new AutoResetEvent(false);
            mockToolkit.Setup(x => x.Invoke(It.IsAny <EventHandler> ())).Callback((EventHandler e) => {
                Task actionExecution = Task.Factory.StartNew(() => e(null, null));
                actionExecution.Wait();
                resetEvent.Set();
            });
        }