/// <summary> /// Конструктор. /// </summary> public MainWindowViewModel() { this.SearchVideo = new DelegateCommand(arg => this.ReloadVideos(arg.ToString())); this.pageProvider = new VideoProvider(); this.videos = new PagedObservableCollection(this.pageProvider); this.ReloadVideos(string.Empty); }
private async void ButtonArtistFolderPath_Click(object sender, RoutedEventArgs e) { var setting = await VideoProvider.SetVideoPathDialogAsync(); if (setting != null) { TextBoxArtistFolderPath.Text = $"{setting.Value} (Please restart)"; } }
async void LoadVideoSource(string filePath) { lock (_obj) { var videoProvider = new VideoProvider(); videoProvider.Init(filePath); Videos.Add(videoProvider); } }
public YouTubeVideoPublisher() { if (_youTubeVideoProvider == null) { foreach (VideoProvider videoProvider in VideoProviderHelper.VideoProviders) { if (videoProvider.IsYouTube) { _youTubeVideoProvider = videoProvider; return; } } } }
public void Initialize() { SplashScreen splashScreen = new SplashScreen("./Images/IwaraIcon.png"); splashScreen.Show(true, true); VideoProvider videoProvider = new VideoProvider(); var collection = new ServiceCollection(); collection.AddSingleton <IVideoProvider>(videoProvider); collection.AddSingleton <IDownloadProvider>(new DownloadProvider()); collection.AddSingleton <VideoPageViewModel>(); collection.AddScoped <MainWindowViewModel>(); collection.AddScoped <IwaraViewerViewModel>(); collection.AddScoped <DownloadsViewModel>(); services = collection.BuildServiceProvider(); }
protected override bool DoInsertData(DataAction action, MarkupPointer begin, MarkupPointer end) { //might be a video VideoProvider provider = VideoProviderManager.FindProviderFromEmbed(DataMeister.TextData.Text); if (provider != null) { // HACK: drive the selection textRange to the caret so we can call generic // content-source routines that work off the current selection EditorContext.MarkupServices.CreateMarkupRange(begin, end).ToTextRange().select(); try { return(InsertSmartContentFromEmbed(DataMeister.TextData.Text)); } catch (Exception ex) { Trace.Fail("Unexpected exception inserting content: " + ex.ToString()); return(false); } } else //unknown embed { try { using (new WaitCursor()) { // insert the content EditorContext.InsertHtml(begin, end, DataMeister.TextData.Text, null); } return(true); } catch (Exception ex) { Trace.Fail("Unexpected exception while pasting EMBED: " + ex.ToString()); return(false); } } }
private static void GetHtmlDocument(string url) { _client = new WebClient(); _doc = new HtmlDocument(); _doc.LoadHtml(_client.DownloadString(url)); if (url.Contains("youtube.com")) { Provider = VideoProvider.YouTube; } else if (url.Contains("veoh.com")) { Provider = VideoProvider.Veoh; } else if (url.Contains("crunchyroll.com")) { Provider = VideoProvider.Crunchyroll; } else { Provider = VideoProvider.NA; } }
private void ConfigureSerivces(ServiceCollection serviceCollection) { var uiLogger = new CustomUiLoggerProvider(); ILoggerFactory loggerFactory = LoggerFactory.Create( (builder) => { builder .AddProvider(new CustomConsoleProvider()) .AddProvider(new CustomTraceProvider()) .AddProvider(uiLogger) .SetMinimumLevel(LogLevel.Debug); }); Directory.CreateDirectory("Settings"); var path = Path.Combine("Settings", "config.json"); var setupDefaultConfig = !File.Exists(path); var settings = new ConfigurationBuilder <ISettings>() .UseJsonFile(path). Build(); if (setupDefaultConfig) { SetupDefaultConfiguration(settings); } else { EnsureValidValues(settings); } serviceCollection.AddSingleton(settings); var recognition = new TextRecognition(); var executioner = new TaskExecutioner(loggerFactory.CreateLogger <TaskExecutioner>()); var window = SetupWindow(settings, loggerFactory, recognition); var videoProvider = new VideoProvider(window, settings.VideoCapture.FrameRate); serviceCollection.AddSingleton <IVideoProvider>(videoProvider); serviceCollection.AddSingleton <IVideoCapture, VideoCapture>(); var repository = new Repository(); repository.Load(); var game = new GameImpl(window, videoProvider, repository, loggerFactory, recognition, settings); var overlay = new ImGuiOverlay(game, window, repository); if (settings.EnableOverlay) { //circular dependency. find better solution. game.Overlay = overlay; overlay.Setup(); } serviceCollection.AddSingleton <IEmulatorOverlay>(overlay); var picker = new AreaPicker(window, overlay); serviceCollection.AddSingleton <ITaskExecutioner>(executioner); serviceCollection.AddSingleton <ITaskQueue>(executioner); serviceCollection.AddSingleton <IGame>(game); serviceCollection.AddSingleton <IAreaPicker>(picker); serviceCollection.AddSingleton <IUiRepository>(repository); serviceCollection.AddSingleton(window); serviceCollection.AddSingleton <IUiLogger>(uiLogger); ViewModelLocator.ConfigureServices(serviceCollection); if (settings.EnableOverlay) { Dispatcher.BeginInvoke(async() => await UpdateOverlay(overlay)); } }
public Video GetVideo() { VideoProvider provider = VideoProviderManager.FindProviderFromUrl(_url); return(provider.VideoFromUrl(_url)); }