Esempio n. 1
0
        public MyAddon(string[] args) : base()
        {
            DialogProgress dp = new DialogProgress();

            dp.create("VideoLibrary Example", "Retrieve List of Movies");
            VideoLibrary vl  = new VideoLibrary();
            List <Movie> mov = vl.GetMovies(0, 5);

            dp.update(50, "Retrieve List of TVShow");
            List <TVShow> tv       = vl.GetTVShows();
            StringBuilder textview = new StringBuilder("Movies List :");

            dp.update(80, "Create List");
            foreach (Movie s in mov)
            {
                textview.AppendLine("    - " + s.Label + " (" + s.Year + ")");
            }
            textview.AppendLine("TVShow List:");
            foreach (TVShow s in tv)
            {
                textview.AppendLine("    - " + s.Label + " (" + s.Year + ")");
            }
            dp.update(100, "Finish succesful");
            dp.close();
            Dialog.TextViewer("VideoLibrary Example", textview.ToString());
            Stop();
        }
Esempio n. 2
0
        private async void LoadMovies()
        {
            ProgressRing.IsActive = true;
            ConnectionManager.ManageSystemTray(true);

            allMovies = await VideoLibrary.GetMovies();

            unwatchedMovies = allMovies.Where(movie => movie.PlayCount == 0).ToList <Movie>();
            watchedMovies   = allMovies.Where(movie => movie.PlayCount > 0).ToList <Movie>();

            var groupedAllMovies = GroupingHelper.GroupList(allMovies, (Movie a) => a.Label, true);

            AllCVS.Source = groupedAllMovies;
            (AllSemanticZoom.ZoomedOutView as ListViewBase).ItemsSource = AllCVS.View.CollectionGroups;

            var groupedUnwatchedMovies = GroupingHelper.GroupList(unwatchedMovies, (Movie a) => a.Label, true);

            NewCVS.Source = groupedUnwatchedMovies;
            (NewSemanticZoom.ZoomedOutView as ListViewBase).ItemsSource = NewCVS.View.CollectionGroups;

            var groupedWatchedMovies = GroupingHelper.GroupList(watchedMovies, (Movie a) => a.Label, true);

            WatchedCVS.Source = groupedWatchedMovies;
            (WatchedSemanticZoom.ZoomedOutView as ListViewBase).ItemsSource = WatchedCVS.View.CollectionGroups;

            ConnectionManager.ManageSystemTray(false);
            ProgressRing.IsActive = false;
        }
Esempio n. 3
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (albums == null)
            {
                albums = await AudioLibrary.GetRecentlyAddedAlbums(new Limits { Start = 0, End = 12 });

                MusicLLS.ItemsSource = albums;
            }

            if (episodes == null)
            {
                episodes = await VideoLibrary.GetRecentlyAddedEpisodes(new Limits { Start = 0, End = 10 });

                TVShowsLLS.ItemsSource = episodes;
            }

            if (movies == null)
            {
                movies = await VideoLibrary.GetRecentlyAddedMovies(new Limits { Start = 0, End = 15 });

                MoviesLLS.ItemsSource = movies;
            }

            base.OnNavigatedTo(e);
        }
        private async void LoadTVShows()
        {
            ConnectionManager.ManageSystemTray(true);
            allTVShows = await VideoLibrary.GetTVShows();

            AllTVShowsLLS.ItemsSource = allTVShows;
            ConnectionManager.ManageSystemTray(false);
        }
        public void VideosAddedToLibraryAreAvailableToRent()
        {
            VideoLibrary videoLibrary = new VideoLibrary();
            Video        video        = new Video("Jaws", Rating.Fifteen);

            videoLibrary.AddVideo(video);
            Assert.True(videoLibrary.HasVideo("Jaws"));
        }
        private async void LoadEpisodes()
        {
            JObject        filter   = new JObject(new JProperty("tvshowid", GlobalVariables.CurrentTVShow.TvShowId));
            List <Episode> episodes = await VideoLibrary.GetEpisodes(tvShowID : GlobalVariables.CurrentTVShow.TvShowId);

            List <SeasonItem <Episode> > seasons = GroupEpisodes <Episode>(episodes, epi => epi.Season);

            SeasonsCVS.Source = seasons;
        }
Esempio n. 7
0
        public static async Task UpdateTile(SecondaryTile tile)
        {
            var  currentShow = tvShows.FirstOrDefault(s => s.Title == tile.Arguments.Split(new char[] { '_' })[1]);
            Sort sort        = new Sort {
                Order = "ascending", IgnoreArticle = true, Method = "playcount"
            };

            Limits limits = new Limits(0, 3);

            List <Episode> episodes = await VideoLibrary.GetEpisodes(limits : limits, sort : sort, tvShowID : currentShow.TvShowId);

            //Square tile
            XmlDocument tileXml            = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150PeekImageAndText01);
            XmlNodeList tileTextAttributes = tileXml.GetElementsByTagName("text");

            tileTextAttributes[0].InnerText = "Episodes";

            for (int i = 0; i < episodes.Count; i++)
            {
                tileTextAttributes[i + 1].InnerText = episodes[i].Label;
            }

            XmlNodeList tileImageAttributes = tileXml.GetElementsByTagName("image");
            string      uriString           = DownloadHelper.GetRemoteUri(currentShow.Thumbnail);

            (tileImageAttributes[0] as XmlElement).SetAttribute("src", uriString);

            //Wide tile
            XmlDocument wideTileXml            = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWide310x150PeekImage02);
            XmlNodeList tileTextWideAttributes = wideTileXml.GetElementsByTagName("text");

            tileTextWideAttributes[0].InnerText = "Episodes";

            for (int i = 0; i < episodes.Count; i++)
            {
                tileTextWideAttributes[i + 1].InnerText = episodes[i].Label;
            }


            XmlNodeList tileImageWideAttributes = wideTileXml.GetElementsByTagName("image");
            string      uriWideString           = await DownloadHelper.DownloadImageForTile(currentShow.Fanart);

            (tileImageWideAttributes[0] as XmlElement).SetAttribute("src", uriWideString);

            //Packaging
            IXmlNode node = wideTileXml.ImportNode(tileXml.GetElementsByTagName("binding").Item(0), true);

            wideTileXml.GetElementsByTagName("visual").Item(0).AppendChild(node);

            TileNotification tileNotification = new TileNotification(wideTileXml);

            TileUpdater secondaryTileUpdater = TileUpdateManager.CreateTileUpdaterForSecondaryTile(tile.TileId);

            secondaryTileUpdater.Update(tileNotification);
        }
Esempio n. 8
0
        public static async void UpdateAllTiles()
        {
            tvShows = await VideoLibrary.GetTVShows();

            IReadOnlyList <SecondaryTile> tiles = await SecondaryTile.FindAllAsync();

            foreach (var tile in tiles)
            {
                await UpdateTile(tile);
            }
        }
Esempio n. 9
0
        private async void SearchAndReload(string query)
        {
            ConnectionManager.ManageSystemTray(true);
            if (AllTVShows == null)
            {
                AllTVShows = await VideoLibrary.GetTVShows();
            }

            FilteredTVShows = AllTVShows.Where(t => t.Title.ToLower().Contains(query.ToLower())).ToList();
            SearchTVShowsLLS.ItemsSource = FilteredTVShows;
            ConnectionManager.ManageSystemTray(false);
        }
        private async void SearchAndReload(string query)
        {
            ConnectionManager.ManageSystemTray(true);
            if (allMovies == null)
            {
                allMovies = await VideoLibrary.GetMovies();
            }

            filteredMovies = allMovies.Where(t => t.Title.ToLower().Contains(query.ToLower())).ToList();
            SearchMoviesListView.ItemsSource = filteredMovies;
            ConnectionManager.ManageSystemTray(false);
        }
        private async void LoadMovies()
        {
            ConnectionManager.ManageSystemTray(true);
            allMovies = await VideoLibrary.GetMovies();

            AllMoviesLLS.ItemsSource = allMovies;

            unwatchedMovies = allMovies.Where(movie => movie.PlayCount == 0).ToList <Movie>();
            UnwatchedMoviesLLS.ItemsSource = unwatchedMovies;

            watchedMovies = allMovies.Where(movie => movie.PlayCount > 0).ToList <Movie>();
            WatchedMoviesLLS.ItemsSource = watchedMovies;
            ConnectionManager.ManageSystemTray(false);
        }
Esempio n. 12
0
        protected override async Task <List <Movie> > LoadMoreItemsImplAsync(CancellationToken c, uint count)
        {
            if (maxCount == null)
            {
                maxCount = await VideoLibrary.GetMoviesCount(filter);
            }

            Limits limits = new Limits {
                Start = this.Count, End = this.Count + (int)count
            };

            List <Movie> moreMovies = await VideoLibrary.GetMovies(limits : limits, filter : filter, sort : sort);

            return(moreMovies);
        }
Esempio n. 13
0
        protected async override System.Threading.Tasks.Task <List <Episode> > LoadMoreItemsImplAsync(System.Threading.CancellationToken c, uint count)
        {
            if (maxCount == null)
            {
                maxCount = await VideoLibrary.GetEpisodesCount(filter, tvShowId);
            }

            Limits limits = new Limits {
                Start = this.Count, End = this.Count + (int)count
            };

            var moreEpisodes = await VideoLibrary.GetEpisodes(limits, filter, sort, tvShowId);

            return(moreEpisodes);
        }
Esempio n. 14
0
        protected override async Task <List <TVShow> > LoadMoreItemsImplAsync(System.Threading.CancellationToken c, uint count)
        {
            if (maxCount == null)
            {
                maxCount = await VideoLibrary.GetTVShowsCount(filter);
            }

            Limits limits = new Limits {
                Start = this.Count, End = this.Count + (int)count
            };

            var moreShows = await VideoLibrary.GetTVShows(limits, filter, sort);

            return(moreShows);
        }
Esempio n. 15
0
 public Connection()
 {
     Addons       = new Addons(this);
     Application  = new Application(this);
     AudioLibrary = new AudioLibrary(this);
     Files        = new Files(this);
     Gui          = new Gui(this);
     Input        = new Input(this);
     JsonRpc      = new JsonRpc(this);
     Player       = new Player(this);
     Playlist     = new Playlist(this);
     System       = new Commands.System(this);
     VideoLibrary = new VideoLibrary(this);
     Server       = new Kodi(this);
 }
Esempio n. 16
0
        private async Task PopulatePage(string navigationArgs)
        {
            string showName = navigationArgs.Split("_".ToArray())[1];

            ShowNameTextBlock.Text = showName;

            var shows = await VideoLibrary.GetTVShows();

            int showId = shows.Where(show => show.Title == showName).FirstOrDefault().TvShowId;

            if (showId == null)
            {
                return;
            }

            Filter newFilter = new Filter {
                Field = "playcount", Operator = "is", value = "0"
            };

            Sort sort = new Sort {
                Method = "label", IgnoreArticle = true, Order = "ascending"
            };

            var newEpisodes = new EpisodesCollection(newFilter, sort, showId);

            NewEpisodesListView.ItemsSource = newEpisodes;

            Filter watchedFilter = new Filter {
                Field = "playcount", Operator = "greaterthan", value = "0"
            };

            var watchedEpisodes = new EpisodesCollection(watchedFilter, sort, showId);

            WatchedEpisodesListView.ItemsSource = watchedEpisodes;

            if (await VideoLibrary.GetEpisodesCount(tvShowID: showId) == 0)
            {
                string        message       = String.Format("No episodes were found in {0}. We will take you to the library now.", showName);
                string        messageHeader = "Nothing Here!";
                MessageDialog msg           = new MessageDialog(message, messageHeader);
                await msg.ShowAsync();

                Frame.Navigate(typeof(CoverPage));
            }
        }
Esempio n. 17
0
        private async void LoadTVShows()
        {
            var loadStartTime = DateTime.Now;

            ProgressRing.IsActive = true;
            ConnectionManager.ManageSystemTray(true);
            allTVShows = await VideoLibrary.GetTVShows();

            var groupedTvShows = GroupingHelper.GroupList(allTVShows, (TVShow a) => a.Label, true);

            TvShowsCVS.Source = groupedTvShows;
            (TvShowsSemanticZoom.ZoomedOutView as ListViewBase).ItemsSource = TvShowsCVS.View.CollectionGroups;

            ConnectionManager.ManageSystemTray(false);
            ProgressRing.IsActive = false;

            GlobalVariables.CurrentTracker.SendTiming(DateTime.Now.Subtract(loadStartTime), TimingCategories.LoadTime, "AllTVShows", "AllTVShows");
        }
Esempio n. 18
0
        /// <summary>
        /// Displays successors of the specified parent item.
        /// </summary>
        /// <param name="parentItem">The parent item.</param>
        /// <param name="page">The page.</param>
        /// <returns>
        /// The <see cref="ActionResult" />.
        /// </returns>
        public ActionResult Successors(VideoLibrary parentItem, int?page)
        {
            if (parentItem != null)
            {
                this.InitializeListViewBag(parentItem.ItemDefaultUrl + "?page={0}");
            }

            var viewModel = this.Model.CreateListViewModelByParent(parentItem, page ?? 1);

            if (SystemManager.CurrentHttpContext != null)
            {
                this.AddCacheDependencies(this.Model.GetKeysOfDependentObjects(viewModel));
            }

            var fullTemplateName = this.listTemplateNamePrefix + this.ListTemplateName;

            return(this.View(fullTemplateName, viewModel));
        }
        public async Task uploadFileAndUpdateTable(Stream x, string filename, string ownerEmailId)
        {
            try
            {
                VideoLibrary video = new VideoLibrary(ownerEmailId, filename);

                var fileTransferUtility = new TransferUtility(s3Client);

                var uploadRequest = new TransferUtilityUploadRequest
                {
                    InputStream = x,
                    BucketName  = s3StorageBucketName,
                    Key         = video.GeneratedFileNameAsMediaId,
                    CannedACL   = S3CannedACL.PublicRead
                };

                await Task.Run(async() =>
                {
                    Task upld = fileTransferUtility.UploadAsync(uploadRequest);
                    while (!upld.IsCompleted)
                    {
                        upld.Wait(25);
                        if (upld.IsFaulted || upld.IsCanceled)
                        {
                            break;
                        }
                    }
                    if (upld.IsFaulted)
                    {
                        Trace.WriteLine(upld.Exception); throw upld.Exception;
                    }
                    else if (upld.IsCompletedSuccessfully)
                    {
                        Trace.WriteLine(String.Format("Upload status: {0} \n Upload Complete: {1}", upld.Status, upld.IsCompleted));
                        Trace.WriteLine("File Upload completed.. Check bucket via console");
                        await new DynamoDBContext(client).SaveAsync(video);
                        return;
                    }
                });
            }
            catch (AmazonDynamoDBException ex) { Trace.WriteLine(ex.Message); }
            catch (AmazonS3Exception ex) { Trace.WriteLine(ex.Message); }
            catch (Exception ex) { Trace.WriteLine(ex.Message); }
        }
Esempio n. 20
0
        private async void RefreshListsIfNull()
        {
            if (Albums == null)
            {
                Albums = await AudioLibrary.GetRecentlyAddedAlbums(new Limits { Start = 0, End = 12 });

                MusicHubSection.DataContext = Albums;
            }

            if (Episodes == null)
            {
                Episodes = await VideoLibrary.GetRecentlyAddedEpisodes(new Limits { Start = 0, End = 10 });

                TVHubSection.DataContext = Episodes;
            }

            if (Movies == null)
            {
                Movies = await VideoLibrary.GetRecentlyAddedMovies(new Limits { Start = 0, End = 12 });

                MoviesHubSection.DataContext = Movies;
            }
        }
Esempio n. 21
0
        private async void AdvancedMenuFlyout_ItemsPicked(ListPickerFlyout sender, ItemsPickedEventArgs args)
        {
            string pickedCommand = (string)AdvancedMenuFlyout.SelectedItem;

            if (pickedCommand == audioLibUpdate)
            {
                AudioLibrary.Scan();
            }
            else if (pickedCommand == videoLibUpdate)
            {
                VideoLibrary.Scan();
            }
            else if (pickedCommand == audioLibClean)
            {
                AudioLibrary.Clean();
            }
            else if (pickedCommand == videoLibClean)
            {
                VideoLibrary.Clean();
            }
            else if (pickedCommand == showSubtitleSerach)
            {
                GUI.ShowSubtitleSearch();
            }
            else if (pickedCommand == showVideoInfo)
            {
                Input.ExecuteAction("codecinfo");
            }
            else if (pickedCommand == suspend)
            {
                await Input.ExecuteAction(SystemCommands.Suspend);
            }
            else if (pickedCommand == shutDown)
            {
                await Input.ExecuteAction(SystemCommands.Shutdown);
            }
        }
        private async void ExecuteVoiceCommand(SpeechRecognitionResult result)
        {
            bool isConnected = await LoadAndConnnect();

            if (!isConnected)
            {
                return;
            }

            string voiceCommandName = result.RulePath[0];
            string textSpoken       = result.Text;

            switch (voiceCommandName)
            {
            case "PlayArtist":
                searchType = SearchType.Artist;
                string artistName = SemanticInterpretation("musicTopic", result);
                allArtists = await AudioLibrary.GetArtists();

                var filteredArtists = allArtists.Where(t => t.Label.ToLower().Contains(artistName.ToLower())).ToList();
                if (filteredArtists.Count > 1)
                {
                    searchHitState = SearchHitState.Multiple;
                    ReceivedCommandTextBlock.Text     = "We found multiple artists. Choose one...";
                    SearchedItemsListView.ItemsSource = filteredArtists;
                }
                else if (filteredArtists.Count > 0)
                {
                    searchHitState = SearchHitState.Single;
                    ReceivedCommandTextBlock.Text     = "This is the artist we found...";
                    SearchedItemsListView.ItemsSource = filteredArtists;
                    Player.PlayArtist(filteredArtists[0]);
                    QuestionNameTextBlock.Text = "Did we get the right one?";
                    QuestionWrapper.Visibility = Windows.UI.Xaml.Visibility.Visible;
                }
                else
                {
                    searchHitState = SearchHitState.None;
                    ReceivedCommandTextBlock.Text = "Sorry, we couldn't find what you asked for.";
                    //SearchedItemsListView.ItemsSource = allArtists;
                    QuestionNameTextBlock.Text = "Would you like to see a list of all artists?";
                    QuestionWrapper.Visibility = Windows.UI.Xaml.Visibility.Visible;
                }
                break;

            case "PlayMovie":
                searchType = SearchType.Movie;
                string movieName = SemanticInterpretation("movieTopic", result);
                allMovies = await VideoLibrary.GetMovies();

                var filteredMovies = allMovies.Where(t => t.Title.ToLower().Contains(movieName.ToLower())).ToList();
                if (filteredMovies.Count > 1)
                {
                    searchHitState = SearchHitState.Multiple;
                    ReceivedCommandTextBlock.Text     = "We found multiple movies. Choose one...";
                    SearchedItemsListView.ItemsSource = filteredMovies;
                }
                else if (filteredMovies.Count > 0)
                {
                    searchHitState = SearchHitState.Single;
                    ReceivedCommandTextBlock.Text     = "This is the movie we found...";
                    SearchedItemsListView.ItemsSource = filteredMovies;
                    Player.PlayMovie(filteredMovies[0]);
                    QuestionNameTextBlock.Text = "Did we find the right one?";
                    QuestionWrapper.Visibility = Windows.UI.Xaml.Visibility.Visible;
                }
                else
                {
                    searchHitState = SearchHitState.None;
                    ReceivedCommandTextBlock.Text = "Sorry, we couldn't find what you asked for. Here is the list of all movies.";
                    //SearchedItemsListView.ItemsSource = allMovies;
                    QuestionNameTextBlock.Text = "Would you like to see a list of all movies?";
                    QuestionWrapper.Visibility = Windows.UI.Xaml.Visibility.Visible;
                }
                break;

            case "PlayAlbum":
                searchType = SearchType.Album;
                string albumName = SemanticInterpretation("musicTopic", result);
                allAlbums = await AudioLibrary.GetAlbums();

                var filteredAlbums = allAlbums.Where(t => t.Title.ToLower().Contains(albumName.ToLower())).ToList();
                if (filteredAlbums.Count > 1)
                {
                    searchHitState = SearchHitState.Multiple;
                    ReceivedCommandTextBlock.Text     = "We found multiple albums. Choose one...";
                    SearchedItemsListView.ItemsSource = filteredAlbums;
                }
                else if (filteredAlbums.Count > 0)
                {
                    searchHitState = SearchHitState.Single;
                    ReceivedCommandTextBlock.Text     = "This is the album we found...";
                    SearchedItemsListView.ItemsSource = filteredAlbums;
                    Player.PlayAlbum(filteredAlbums[0]);
                    QuestionNameTextBlock.Text = "Did we get the right one?";
                    QuestionWrapper.Visibility = Windows.UI.Xaml.Visibility.Visible;
                }
                else
                {
                    searchHitState = SearchHitState.None;
                    ReceivedCommandTextBlock.Text = "Sorry, we couldn't find what you asked for. Here is the list of all albums.";
                    //SearchedItemsListView.ItemsSource = allAlbums;
                    QuestionNameTextBlock.Text = "Would you like to see a list of all albums?";
                    QuestionWrapper.Visibility = Windows.UI.Xaml.Visibility.Visible;
                }
                break;

            case "StartParty":
                await Player.PlayPartyMode();

                ReceivedCommandTextBlock.Text = "Started party mode!";
                await Task.Delay(1000);

                Frame.Navigate(typeof(CoverPage));
                break;

            default:
                break;
            }
            if (searchHitState == SearchHitState.Single)
            {
                GlobalVariables.CurrentTracker.SendEvent(EventCategories.VoiceCommand, EventActions.VoiceCommand, "Single" + voiceCommandName, 0);
            }
            else if (searchHitState == SearchHitState.None)
            {
                GlobalVariables.CurrentTracker.SendEvent(EventCategories.VoiceCommand, EventActions.VoiceCommand, "Zero" + voiceCommandName, 0);
            }
        }
 public void VideosAddedToLibraryAreAvailableToRent() {
     VideoLibrary videoLibrary = new VideoLibrary();
     Video video = new Video("Jaws", Rating.Fifteen);
     videoLibrary.AddVideo(video);
     Assert.True(videoLibrary.HasVideo("Jaws"));
 }
 public void VideosNotAddedToLibraryAreAvailableToRent() {
     VideoLibrary videoLibrary = new VideoLibrary();
     Assert.False(videoLibrary.HasVideo("Jaws"));
 }
        /// <summary>
        /// Displays successors of the specified parent item.
        /// </summary>
        /// <param name="parentItem">The parent item.</param>
        /// <param name="page">The page.</param>
        /// <returns>
        /// The <see cref="ActionResult" />.
        /// </returns>
        public ActionResult Successors(VideoLibrary parentItem, int? page)
        {
            if (parentItem != null)
                this.InitializeListViewBag(parentItem.ItemDefaultUrl + "?page={0}");

            var viewModel = this.Model.CreateListViewModelByParent(parentItem, page ?? 1);
            if (SystemManager.CurrentHttpContext != null)
                this.AddCacheDependencies(this.Model.GetKeysOfDependentObjects(viewModel));

            var fullTemplateName = this.listTemplateNamePrefix + this.ListTemplateName;
            return this.View(fullTemplateName, viewModel);
        }
        public static async Task<Result<VideoDownload, string>> DownloadYoutubeVideo(VideoLibrary.Video video)
        {
            // We combine the VideoID with a DateTime hashcode just incase multiple copies
            // of the same video are being downloaded.  That way there won't be any file clashes.
            string filepath = $"{DateTime.Now.GetHashCode().ToString()}";

            try
            {
                var videoBytes = await video.GetBytesAsync();
                File.WriteAllBytes(filepath, videoBytes);
                return new VideoDownload(video, filepath);
            }
            catch(WebException e)
            {
                return (e.Response as HttpWebResponse).StatusCode.ToString();
            }
            catch(Exception e)
            {
                return string.Empty;
            }
        }
Esempio n. 27
0
 /// <summary>
 /// Sets the method.
 /// </summary>
 /// <param name="method">The method.</param>
 /// <returns></returns>
 private string SetMethod(VideoLibrary method)
 {
     return mLibraryName + "." + method.ToString();
 }
Esempio n. 28
0
        private void ParseNotification(JObject jObject)
        {
            if (jObject["method"] != null)
            {
                string _method;
                _method = jObject["method"].ToString();
                switch (_method)
                {
                case "Application.OnVolumeChanged":
                    Application.RaiseOnVolumeChanged(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Application.OnVolumeChanged_data>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnCleanFinished":
                    AudioLibrary.RaiseOnCleanFinished(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnCleanStarted":
                    AudioLibrary.RaiseOnCleanStarted(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnExport":
                    AudioLibrary.RaiseOnExport(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.AudioLibrary.OnExport_data>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnRemove":
                    AudioLibrary.RaiseOnRemove(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.AudioLibrary.OnRemove_data>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnScanFinished":
                    AudioLibrary.RaiseOnScanFinished(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnScanStarted":
                    AudioLibrary.RaiseOnScanStarted(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnUpdate":
                    AudioLibrary.RaiseOnUpdate(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.AudioLibrary.OnUpdate_data>(Serializer)
                        );
                    break;

                case "GUI.OnDPMSActivated":
                    GUI.RaiseOnDPMSActivated(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "GUI.OnDPMSDeactivated":
                    GUI.RaiseOnDPMSDeactivated(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "GUI.OnScreensaverActivated":
                    GUI.RaiseOnScreensaverActivated(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "GUI.OnScreensaverDeactivated":
                    GUI.RaiseOnScreensaverDeactivated(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.GUI.OnScreensaverDeactivated_data>(Serializer)
                        );
                    break;

                case "Input.OnInputFinished":
                    Input.RaiseOnInputFinished(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "Input.OnInputRequested":
                    Input.RaiseOnInputRequested(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Input.OnInputRequested_data>(Serializer)
                        );
                    break;

                case "Player.OnPause":
                    Player.RaiseOnPause(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Player.Notifications.Data>(Serializer)
                        );
                    break;

                case "Player.OnPlay":
                    Player.RaiseOnPlay(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Player.Notifications.Data>(Serializer)
                        );
                    break;

                case "Player.OnPropertyChanged":
                    Player.RaiseOnPropertyChanged(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Player.OnPropertyChanged_data>(Serializer)
                        );
                    break;

                case "Player.OnSeek":
                    Player.RaiseOnSeek(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Player.OnSeek_data>(Serializer)
                        );
                    break;

                case "Player.OnSpeedChanged":
                    Player.RaiseOnSpeedChanged(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Player.Notifications.Data>(Serializer)
                        );
                    break;

                case "Player.OnStop":
                    Player.RaiseOnStop(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Player.OnStop_data>(Serializer)
                        );
                    break;

                case "Playlist.OnAdd":
                    Playlist.RaiseOnAdd(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Playlist.OnAdd_data>(Serializer)
                        );
                    break;

                case "Playlist.OnClear":
                    Playlist.RaiseOnClear(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Playlist.OnClear_data>(Serializer)
                        );
                    break;

                case "Playlist.OnRemove":
                    Playlist.RaiseOnRemove(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.Playlist.OnRemove_data>(Serializer)
                        );
                    break;

                case "System.OnLowBattery":
                    System.RaiseOnLowBattery(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "System.OnQuit":
                    System.RaiseOnQuit(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.System.OnQuit_data>(Serializer)
                        );
                    break;

                case "System.OnRestart":
                    System.RaiseOnRestart(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "System.OnSleep":
                    System.RaiseOnSleep(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "System.OnWake":
                    System.RaiseOnWake(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnCleanFinished":
                    VideoLibrary.RaiseOnCleanFinished(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnCleanStarted":
                    VideoLibrary.RaiseOnCleanStarted(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnExport":
                    VideoLibrary.RaiseOnExport(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.VideoLibrary.OnExport_data>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnRemove":
                    VideoLibrary.RaiseOnRemove(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.VideoLibrary.OnRemove_data>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnScanFinished":
                    VideoLibrary.RaiseOnScanFinished(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnScanStarted":
                    VideoLibrary.RaiseOnScanStarted(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <object>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnUpdate":
                    VideoLibrary.RaiseOnUpdate(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <KodiRpc.VideoLibrary.OnUpdate_data>(Serializer)
                        );
                    break;
                }
            }
        }
 public VideoDownload(VideoLibrary.Video video, string filepath)
 {
     Video = video;
     Filepath = filepath;
 }
        public void VideosNotAddedToLibraryAreAvailableToRent()
        {
            VideoLibrary videoLibrary = new VideoLibrary();

            Assert.False(videoLibrary.HasVideo("Jaws"));
        }
Esempio n. 31
0
        public ActionResult <VideoLibrary> Post([FromBody] VideoLibrary newvideolibrary)
        {
            var postedvideolibrary = _Repository.PostNewVideo(newvideolibrary, _logger);

            return(Ok(postedvideolibrary));
        }
Esempio n. 32
0
        public ActionResult <VideoLibrary> Put(int id, [FromBody] VideoLibrary updatevideolibrary)
        {
            var postedvideolibrary = _Repository.UpdateVideo(id, updatevideolibrary, _logger);

            return(Ok(postedvideolibrary));
        }
Esempio n. 33
0
 void ExecuteOpenVideoLibCmd()
 {
     ShowFunctionView();
     ContentView = new VideoLibrary();
 }
Esempio n. 34
0
        private void ParseNotification(JObject jObject)
        {
            if (jObject["method"] != null)
            {
                string _method;
                _method = jObject["method"].ToString();
                switch (_method)
                {
                case "Application.OnVolumeChanged":
                    Application.RaiseOnVolumeChanged(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.Application.OnVolumeChangeddataType>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnCleanFinished":
                    AudioLibrary.RaiseOnCleanFinished(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnCleanStarted":
                    AudioLibrary.RaiseOnCleanStarted(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnRemove":
                    AudioLibrary.RaiseOnRemove(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.AudioLibrary.OnRemovedataType>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnScanFinished":
                    AudioLibrary.RaiseOnScanFinished(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnScanStarted":
                    AudioLibrary.RaiseOnScanStarted(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "AudioLibrary.OnUpdate":
                    AudioLibrary.RaiseOnUpdate(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.AudioLibrary.OnUpdatedataType>(Serializer)
                        );
                    break;

                case "Input.OnInputFinished":
                    Input.RaiseOnInputFinished(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "Input.OnInputRequested":
                    Input.RaiseOnInputRequested(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.Input.OnInputRequesteddataType>(Serializer)
                        );
                    break;

                case "Player.OnPause":
                    Player.RaiseOnPause(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <XBMCRPC.Player.Notifications.Data>(Serializer)
                        );
                    break;

                case "Player.OnPlay":
                    Player.RaiseOnPlay(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <XBMCRPC.Player.Notifications.Data>(Serializer)
                        );
                    break;

                case "Player.OnPropertyChanged":
                    Player.RaiseOnPropertyChanged(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.Player.OnPropertyChangeddataType>(Serializer)
                        );
                    break;

                case "Player.OnSeek":
                    Player.RaiseOnSeek(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.Player.OnSeekdataType>(Serializer)
                        );
                    break;

                case "Player.OnSpeedChanged":
                    Player.RaiseOnSpeedChanged(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <XBMCRPC.Player.Notifications.Data>(Serializer)
                        );
                    break;

                case "Player.OnStop":
                    Player.RaiseOnStop(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.Player.OnStopdataType>(Serializer)
                        );
                    break;

                case "Playlist.OnAdd":
                    Playlist.RaiseOnAdd(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.Playlist.OnAdddataType>(Serializer)
                        );
                    break;

                case "Playlist.OnClear":
                    Playlist.RaiseOnClear(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.Playlist.OnCleardataType>(Serializer)
                        );
                    break;

                case "Playlist.OnRemove":
                    Playlist.RaiseOnRemove(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.Playlist.OnRemovedataType>(Serializer)
                        );
                    break;

                case "System.OnLowBattery":
                    System.RaiseOnLowBattery(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "System.OnQuit":
                    System.RaiseOnQuit(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "System.OnRestart":
                    System.RaiseOnRestart(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "System.OnSleep":
                    System.RaiseOnSleep(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "System.OnWake":
                    System.RaiseOnWake(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnCleanFinished":
                    VideoLibrary.RaiseOnCleanFinished(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnCleanStarted":
                    VideoLibrary.RaiseOnCleanStarted(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnRemove":
                    VideoLibrary.RaiseOnRemove(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.VideoLibrary.OnRemovedataType>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnScanFinished":
                    VideoLibrary.RaiseOnScanFinished(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnScanStarted":
                    VideoLibrary.RaiseOnScanStarted(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        );
                    break;

                case "VideoLibrary.OnUpdate":
                    VideoLibrary.RaiseOnUpdate(
                        jObject["params"]["sender"].ToObject <string>(Serializer)
                        , jObject["params"]["data"].ToObject <Methods.VideoLibrary.OnUpdatedataType>(Serializer)
                        );
                    break;
                }
            }
        }