コード例 #1
0
ファイル: DacpDatabase.cs プロジェクト: misenhower/WPRemote
        internal DacpRequest GetPlayQueueEditRequest(string command, DacpQueryElement query, PlayQueueMode mode, string sort = null)
        {
            DacpRequest request = new DacpRequest("/ctrl-int/1/playqueue-edit");

            request.QueryParameters["command"] = command;
            if (query != null)
            {
                request.QueryParameters["query"] = query.ToString();
            }
            request.QueryParameters["mode"] = ((int)mode).ToString();
            if (sort != null)
            {
                request.QueryParameters["sort"] = sort;
            }

            if (this != Client.MainDatabase)
            {
                request.QueryParameters["srcdatabase"] = "0x" + PersistentID.ToString("x16");
            }

            // TODO: Handle this separately
            if (mode == PlayQueueMode.Replace)
            {
                request.QueryParameters["clear-previous"] = "1";
            }

            return(request);
        }
コード例 #2
0
ファイル: DacpContainer.cs プロジェクト: misenhower/WPRemote
        internal DacpRequest GetGenresRequest(bool requestSortHeaders = false)
        {
            DacpRequest      request = new DacpRequest("/databases/{0}/browse/genres", Database.ID);
            DacpQueryElement query   = DacpQueryCollection.And(DacpQueryPredicate.IsNotEmpty("daap.songgenre"), MediaKindQuery);

            request.QueryParameters["filter"] = query.ToString();
            if (requestSortHeaders)
            {
                request.QueryParameters["include-sort-headers"] = "1";
            }
            return(request);
        }
コード例 #3
0
ファイル: DacpDatabase.cs プロジェクト: misenhower/WPRemote
        private DacpRequest GetCueRequest(DacpQueryElement query, string sort)
        {
            DacpRequest request = new DacpRequest("/ctrl-int/1/cue");

            request.QueryParameters["command"] = "play";
            if (query != null)
            {
                request.QueryParameters["query"] = query.ToString();
            }
            request.QueryParameters["sort"]        = sort;
            request.QueryParameters["srcdatabase"] = "0x" + PersistentID.ToString("x16");
            request.QueryParameters["clear-first"] = "1";

            return(request);
        }
コード例 #4
0
ファイル: DacpContainer.cs プロジェクト: misenhower/WPRemote
        internal DacpRequest GetItemsRequest(DacpQueryElement query, string sort = "album", bool requestSortHeaders = false)
        {
            // Apple's Remote uses the Base Playlist ID here rather than the actual container ID.
            DacpRequest request = new DacpRequest("/databases/{0}/containers/{1}/items", Database.ID, Database.BasePlaylist.ID);

            request.QueryParameters["meta"] = ItemsMeta;
            request.QueryParameters["type"] = "music";
            request.QueryParameters["sort"] = sort;
            if (requestSortHeaders)
            {
                request.QueryParameters["include-sort-headers"] = "1";
            }
            if (query != null)
            {
                request.QueryParameters["query"] = query.ToString();
            }

            return(request);
        }
コード例 #5
0
ファイル: DacpContainer.cs プロジェクト: misenhower/WPRemote
        internal DacpRequest GetGroupsRequest(DacpQueryElement query, bool includeSortHeaders = false, string groupType = "albums")
        {
            DacpRequest request = new DacpRequest("/databases/{0}/groups", Database.ID);

            request.QueryParameters["meta"]       = GroupsMeta;
            request.QueryParameters["type"]       = "music";
            request.QueryParameters["group-type"] = groupType;
            if (includeSortHeaders)
            {
                request.QueryParameters["include-sort-headers"] = "1";
            }
            request.QueryParameters["sort"] = "album";
            if (query != null)
            {
                request.QueryParameters["query"] = query.ToString();
            }

            return(request);
        }