/// <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);
 }
Beispiel #2
0
        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);
     }
 }
Beispiel #4
0
 public YouTubeVideoPublisher()
 {
     if (_youTubeVideoProvider == null)
     {
         foreach (VideoProvider videoProvider in VideoProviderHelper.VideoProviders)
         {
             if (videoProvider.IsYouTube)
             {
                 _youTubeVideoProvider = videoProvider;
                 return;
             }
         }
     }
 }
 public YouTubeVideoPublisher()
 {
     if (_youTubeVideoProvider == null)
     {
         foreach (VideoProvider videoProvider in VideoProviderHelper.VideoProviders)
         {
             if (videoProvider.IsYouTube)
             {
                 _youTubeVideoProvider = videoProvider;
                 return;
             }
         }
     }
 }
Beispiel #6
0
        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();
        }
Beispiel #7
0
        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;
            }
        }
Beispiel #9
0
        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));
            }
        }
Beispiel #10
0
        public Video GetVideo()
        {
            VideoProvider provider = VideoProviderManager.FindProviderFromUrl(_url);

            return(provider.VideoFromUrl(_url));
        }