-
Notifications
You must be signed in to change notification settings - Fork 0
/
sonospocos.ts
64 lines (57 loc) · 1.48 KB
/
sonospocos.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//sonos responses
export class lastUpdate
{
public catalog : string;
public favorites : string;
//The length of time in seconds that the player should wait before polling the service again. This can be from 30 to 86400 seconds.
public pollInterval : number;
}
export class mediaList
{
public index : number;
public count : number;
public total : number;
public mediaMetadata : AbstractMedia[];
public mediaCollection : AbstractMedia[];
}
//http://musicpartners.sonos.com/node/83
//not really used as abstract, sorry ;-)
export class AbstractMedia
{
public id : string;
public itemType; //enum
public displayType : string;
public title: string;
public mimeType : string;
public summary : string;
public isFavorite : boolean;
public isFavoriteSpecified: boolean;
public languange : string;
public country : string;
public genre : string;
public twitterId : string;
public liveNow : boolean;
public liveNowSpecified : boolean;
public onDemand : boolean;
public onDemandSpecified : boolean;
public trackMetadata : TrackMetadata;
public artist : string;
}
export class MediaCollectionEntry extends AbstractMedia
{
public albumArtURI : string;
public canPlay : boolean;
public canAddToFavorites : boolean;
public albumArtist : string;
}
export class TrackMetadata
{
public id : string;
public duration : number;
public artistId : string;
public genre : string;
public artist : string;
public album: string;
public albumArtURI : string;
public albumArtist : string;
}