1
0
Fork 0
mirror of https://github.com/librespot-org/librespot.git synced 2025-10-05 19:42:03 +02:00

Update protocol files.

This commit is contained in:
Paul Lietar 2015-07-01 19:49:03 +02:00
parent caf78992fb
commit addc1fce22
31 changed files with 1301 additions and 679 deletions

View file

@ -1,92 +1,118 @@
enum MessageType {
kMessageTypeHello = 1;
kMessageTypeGoodbye = 2;
kMessageTypeNotify = 10;
kMessageTypeLoad = 20;
kMessageTypePlay = 21;
kMessageTypePause = 22;
// kMessageTypePlayPause = 23;
kMessageTypeSeek = 24;
kMessageTypePrev = 25;
kMessageTypeNext = 26;
kMessageTypeVolume = 27;
kMessageTypeShuffle = 28;
kMessageTypeRepeat = 29;
kMessageTypeQueue = 30;
kMessageTypeVolumeDown = 31;
kMessageTypeVolumeUp = 32;
kMessageTypeAddToQueue = 33;
}
enum PlayStatus {
kPlayStatusStop = 0;
kPlayStatusPlay = 1;
kPlayStatusPause = 2;
kPlayStatusLoading = 3;
kPlayStatusError = 4;
}
message Goodbye {
required string reason = 1;
}
message State {
optional string contextURI = 0x2;
optional uint32 index = 0x3;
optional uint32 position = 0x4;
optional PlayStatus status = 0x5;
optional uint64 timestamp = 0x7;
optional string context_name = 0x8;
optional uint32 duration = 0x9;
optional uint32 data9 = 0xa;
repeated uint64 data10 = 0xb;
optional bool shuffle = 0xd;
optional bool repeat = 0xe;
optional string data12 = 0x14;
optional uint32 data13 = 0x15;
optional uint32 data14 = 0x18;
optional uint32 data15 = 0x19;
optional uint32 data16 = 0x1a;
repeated QueuedTrack queued = 0x1b;
message QueuedTrack {
optional bytes gid = 0x1;
optional string local_uri = 0x2;
optional uint32 data1 = 0x3;
}
}
message Frame {
required uint32 version = 1;
required string source = 2;
required string version_string = 3;
required uint32 msgid = 4;
required uint32 type = 5;
required DeviceInfo device = 0x7;
//required Goodbye goodbye = 0xb;
optional uint32 version = 0x1;
optional string ident = 0x2;
optional string protocol_version = 0x3;
optional uint32 seq_nr = 0x4;
optional MessageType typ = 0x5;
optional DeviceState device_state = 0x7;
optional Goodbye goodbye = 0xb;
optional State state = 0xc;
optional uint32 position = 0xd;
optional uint32 volume = 0xe;
optional uint64 timestamp = 0x11;
optional string destination = 0x12;
message DeviceInfo {
optional string version = 0x1;
required bool active = 0xa;
required bool foreground = 0xb;
required uint32 volume = 0xc;
required string name = 0xd;
optional uint32 data15 = 0xe;
required uint64 activeTime = 0xf;
repeated Data17 data17 = 0x11;
message Data17 {
required uint32 data0 = 0x1;
optional uint32 data1 = 0x2;
repeated string data2 = 0x3;
}
}
optional int64 state_update_id = 0x11;
repeated string recipient = 0x12;
optional bytes context_player_state = 0x13;
}
enum MessageType {
kMessageTypeHello = 0x1;
kMessageTypeGoodbye = 0x2;
kMessageTypeProbe = 0x3;
kMessageTypeNotify = 0xa;
kMessageTypeLoad = 0x14;
kMessageTypePlay = 0x15;
kMessageTypePause = 0x16;
kMessageTypePlayPause = 0x17;
kMessageTypeSeek = 0x18;
kMessageTypePrev = 0x19;
kMessageTypeNext = 0x1a;
kMessageTypeVolume = 0x1b;
kMessageTypeShuffle = 0x1c;
kMessageTypeRepeat = 0x1d;
kMessageTypeVolumeDown = 0x1f;
kMessageTypeVolumeUp = 0x20;
kMessageTypeReplace = 0x21;
kMessageTypeLogout = 0x22;
kMessageTypeAction = 0x23;
}
message DeviceState {
optional string sw_version = 0x1;
optional bool is_active = 0xa;
optional bool can_play = 0xb;
optional uint32 volume = 0xc;
optional string name = 0xd;
optional uint32 error_code = 0xe;
optional int64 became_active_at = 0xf;
optional string error_message = 0x10;
repeated Capability capabilities = 0x11;
repeated string local_uris = 0x12;
repeated int32 enc_key = 0x13;
}
message Capability {
optional CapabilityType typ = 0x1;
repeated int64 intValue = 0x2;
repeated string stringValue = 0x3;
}
enum CapabilityType {
kSupportedContexts = 0x1;
kCanBePlayer = 0x2;
kRestrictToLocal = 0x3;
kDeviceType = 0x4;
kGaiaEqConnectId = 0x5;
kSupportsLogout = 0x6;
kIsObservable = 0x7;
kVolumeSteps = 0x8;
kSupportedTypes = 0x9;
}
message Goodbye {
optional string reason = 0x1;
}
message State {
optional string context_uri = 0x2;
optional uint32 index = 0x3;
optional uint32 position_ms = 0x4;
optional PlayStatus status = 0x5;
optional uint64 position_measured_at = 0x7;
optional string context_description = 0x8;
optional bool shuffle = 0xd;
optional bool repeat = 0xe;
optional string last_command_ident = 0x14;
optional uint32 last_command_msgid = 0x15;
optional bool playing_from_fallback = 0x18;
optional uint32 row = 0x19;
optional uint32 playing_track_index = 0x1a;
repeated TrackRef track = 0x1b;
optional Ad ad = 0x1c;
}
enum PlayStatus {
kPlayStatusStop = 0x0;
kPlayStatusPlay = 0x1;
kPlayStatusPause = 0x2;
kPlayStatusLoading = 0x3;
}
message TrackRef {
optional bytes gid = 0x1;
optional string uri = 0x2;
optional bool queued = 0x3;
optional string context = 0x4;
}
message Ad {
optional int32 next = 0x1;
optional bytes ogg_fid = 0x2;
optional bytes image_fid = 0x3;
optional int32 duration = 0x4;
optional string click_url = 0x5;
optional string impression_url = 0x6;
optional string product = 0x7;
optional string advertiser = 0x8;
optional bytes gid = 0x9;
}