/// <summary> /// Adds the video details as a new 'Additional App' to the given game. /// </summary> /// <param name="game">The game entry.</param> /// <returns>The Additional App entry.</returns> public IAdditionalApplication AddVideoToGame(IGame game) { var app = game.AddNewAdditionalApplication(); app.Name = TitleWithPrefix; app.ApplicationPath = VlcUtilities.GetVlcExecutablePath(); app.CommandLine = GetVlcCmdArguments(); return(app); }
/// <summary> /// Verifies if an 'additional app' is properly set up with all the expected arguments. /// </summary> /// <param name="app">The Additional App entry.</param> public static bool IsAppCorrectlySetup(IAdditionalApplication app) { if (app.ApplicationPath != VlcUtilities.GetVlcExecutablePath()) { return(false); } // Checking if the app's command line string is missing any of the VLC arguments expected by our plugin foreach (var expectedArg in _commonVlcArguments) { if (!app.CommandLine.Contains(expectedArg)) { return(false); } } return(true); }
public void CanImportAndExportAppDetails() { var additionalAppDummy = new AdditionalApplicationMock { ApplicationPath = VlcUtilities.GetVlcExecutablePath(), Name = "Video: Presentation", CommandLine = "-f --start-time=337 --stop-time=387 https://youtu.be/q_7KUC6CY6Q" }; var gameMock = Substitute.For <IGame>(); gameMock.AddNewAdditionalApplication().Returns(new AdditionalApplicationMock()); var video = new GameVideo(additionalAppDummy); var exportedApp = video.AddVideoToGame(gameMock); Assert.Equal(additionalAppDummy.ApplicationPath, exportedApp.ApplicationPath); Assert.Equal(additionalAppDummy.Name, exportedApp.Name); Assert.Equal("-f --play-and-exit --start-time=337 --stop-time=387 https://youtu.be/q_7KUC6CY6Q", exportedApp.CommandLine); }
/// <summary> /// This method updates an existing Additional App with the current video details. /// </summary> /// <param name="additionalApplication"></param> public void UpdateExistingApp(IAdditionalApplication additionalApplication) { additionalApplication.Name = TitleWithPrefix; additionalApplication.ApplicationPath = VlcUtilities.GetVlcExecutablePath(); additionalApplication.CommandLine = GetVlcCmdArguments(); }