コード例 #1
0
ファイル: Playlist.cs プロジェクト: wtoscer/XBMCRemoteWP
 public async static Task Clear(PlayelistType playlistType)
 {
     int playlistId = GetPlaylistId(playlistType);
     JObject parameters = new JObject(
                         new JProperty("playlistid", playlistId));
     await ConnectionManager.ExecuteRPCRequest("Playlist.Clear", parameters);
 }
コード例 #2
0
ファイル: Playlist.cs プロジェクト: rhealace/XBMCRemoteRT
 public async static Task Clear(PlayelistType playlistType)
 {
     int     playlistId = GetPlaylistId(playlistType);
     JObject parameters = new JObject(
         new JProperty("playlistid", playlistId));
     await ConnectionManager.ExecuteRPCRequest("Playlist.Clear", parameters);
 }
コード例 #3
0
ファイル: Playlist.cs プロジェクト: rhealace/XBMCRemoteRT
        public async static Task Remove(PlayelistType playlistType, int position)
        {
            int     playlistId = GetPlaylistId(playlistType);
            JObject parameters = new JObject(
                new JProperty("position", position),
                new JProperty("playlistid", playlistId));

            await ConnectionManager.ExecuteRPCRequest("Playlist.Remove", parameters);
        }
コード例 #4
0
ファイル: Playlist.cs プロジェクト: eraser85/XBMCRemoteRT
        public async static Task Remove(PlayelistType playlistType, int position)
        {
            int playlistId = GetPlaylistId(playlistType);
            JObject parameters = new JObject(
                               new JProperty("position", position),
                               new JProperty("playlistid", playlistId));

            await ConnectionManager.ExecuteRPCRequest("Playlist.Remove", parameters);
        }
コード例 #5
0
ファイル: Playlist.cs プロジェクト: Faldon/XBMCRemoteRT
        // Returns the current playlist for video/audio
        public async static Task <IEnumerable <Object> > GetItems(PlayelistType playlistType)
        {
            int     playlistId = GetPlaylistId(playlistType);
            JObject parameters = new JObject(new JProperty("playlistid", playlistId));

            if (playlistType == PlayelistType.Audio)
            {
                parameters.Add(new JProperty("properties", new JArray("album", "artist", "duration", "track", "disc")));
            }
            else if (playlistType == PlayelistType.Video)
            {
                parameters.Add(new JProperty("properties", new JArray("runtime", "showtitle", "season", "title", "artist")));
            }

            JObject res = await ConnectionManager.ExecuteRPCRequest("Playlist.GetItems", parameters);

            JArray itemsListObject = (JArray)res["result"]["items"];

            if (itemsListObject == null)
            {
                return(new List <Object>());
            }

            if (playlistType == PlayelistType.Audio)
            {
                var songs = itemsListObject.Select(i => new Song()
                {
                    SongId      = i["id"].ToObject <int>(),
                    Album       = i["album"].ToString(),
                    AlbumArtist = i["artist"].ToObject <List <String> >(),
                    Label       = i["label"].ToString(),
                    Track       = i["track"].ToObject <int>(),
                    Duration    = i["duration"].ToObject <int>(),
                    Disc        = i["disc"].ToObject <int>()
                }).ToList();

                return(songs);
            }

            //TODO: check the video return output -- currently in the app this is not used but should it be in the future, this will have to be checked
            if (playlistType == PlayelistType.Video)
            {
                var movies = itemsListObject.Select(i => new Movie()
                {
                    MovieId = i["id"].ToObject <int>(),
                    Title   = i["title"].ToString(),
                    Runtime = i["runtime"].ToObject <int>()
                }).ToList();
                return(movies);
            }

            return(new List <Object>());
        }
コード例 #6
0
ファイル: Playlist.cs プロジェクト: wtoscer/XBMCRemoteWP
 private static int GetPlaylistId(PlayelistType playlistType)
 {
     int playlistId;
     switch (playlistType)
     {
         case PlayelistType.Video:
             playlistId = 1;
             break;
         case PlayelistType.Picture:
             playlistId = 2;
             break;
         case PlayelistType.Audio:
         default:
             playlistId = 0;
             break;
     }
     return playlistId;
 }
コード例 #7
0
ファイル: Playlist.cs プロジェクト: rhealace/XBMCRemoteRT
        private static int GetPlaylistId(PlayelistType playlistType)
        {
            int playlistId;

            switch (playlistType)
            {
            case PlayelistType.Video:
                playlistId = 1;
                break;

            case PlayelistType.Picture:
                playlistId = 2;
                break;

            case PlayelistType.Audio:
            default:
                playlistId = 0;
                break;
            }
            return(playlistId);
        }
コード例 #8
0
ファイル: Playlist.cs プロジェクト: eraser85/XBMCRemoteRT
        // Returns the current playlist for video/audio
        public async static Task<IEnumerable<Object>> GetItems(PlayelistType playlistType)
        {
            int playlistId = GetPlaylistId(playlistType);
            JObject parameters = new JObject(new JProperty("playlistid", playlistId));

            if (playlistType == PlayelistType.Audio)
                parameters.Add(new JProperty("properties", new JArray("album", "artist", "duration")));
            else if (playlistType == PlayelistType.Video)
                parameters.Add(new JProperty("properties", new JArray("runtime", "showtitle", "season", "title", "artist")));

            JObject res = await ConnectionManager.ExecuteRPCRequest("Playlist.GetItems", parameters);
            JArray itemsListObject = (JArray)res["result"]["items"];

            if (itemsListObject == null)
                return new List<Object>();

            if (playlistType == PlayelistType.Audio)
            {
                var songs = itemsListObject.Select(i => new Song()
                {
                    SongId = i["id"].ToObject<int>(),
                    Album = i["album"].ToString(),
                    AlbumArtist = i["artist"].ToObject<List<String>>(),
                    Label = i["label"].ToString(),
                    Duration = i["duration"].ToObject<int>()
                }).ToList();

                return songs;
            }

            //TODO: check the video return output -- currently in the app this is not used but should it be in the future, this will have to be checked
            if (playlistType == PlayelistType.Video)
            {
                List<Movie> listToReturn = itemsListObject.ToObject<List<Movie>>();
                return listToReturn;
            }

            return new List<Object>();
        }