123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- syntax = "proto2";
- message TopTracks {
- optional string country = 0x1;
- repeated Track track = 0x2;
- }
- message ActivityPeriod {
- optional sint32 start_year = 0x1;
- optional sint32 end_year = 0x2;
- optional sint32 decade = 0x3;
- }
- message Artist {
- optional bytes gid = 0x1;
- optional string name = 0x2;
- optional sint32 popularity = 0x3;
- repeated TopTracks top_track = 0x4;
- repeated AlbumGroup album_group = 0x5;
- repeated AlbumGroup single_group = 0x6;
- repeated AlbumGroup compilation_group = 0x7;
- repeated AlbumGroup appears_on_group = 0x8;
- repeated string genre = 0x9;
- repeated ExternalId external_id = 0xa;
- repeated Image portrait = 0xb;
- repeated Biography biography = 0xc;
- repeated ActivityPeriod activity_period = 0xd;
- repeated Restriction restriction = 0xe;
- repeated Artist related = 0xf;
- optional bool is_portrait_album_cover = 0x10;
- optional ImageGroup portrait_group = 0x11;
- }
- message AlbumGroup {
- repeated Album album = 0x1;
- }
- message Date {
- optional sint32 year = 0x1;
- optional sint32 month = 0x2;
- optional sint32 day = 0x3;
- optional sint32 hour = 0x4;
- optional sint32 minute = 0x5;
- }
- message Album {
- optional bytes gid = 0x1;
- optional string name = 0x2;
- repeated Artist artist = 0x3;
- optional Type typ = 0x4;
- enum Type {
- ALBUM = 0x1;
- SINGLE = 0x2;
- COMPILATION = 0x3;
- EP = 0x4;
- }
- optional string label = 0x5;
- optional Date date = 0x6;
- optional sint32 popularity = 0x7;
- repeated string genre = 0x8;
- repeated Image cover = 0x9;
- repeated ExternalId external_id = 0xa;
- repeated Disc disc = 0xb;
- repeated string review = 0xc;
- repeated Copyright copyright = 0xd;
- repeated Restriction restriction = 0xe;
- repeated Album related = 0xf;
- repeated SalePeriod sale_period = 0x10;
- optional ImageGroup cover_group = 0x11;
- }
- message Track {
- optional bytes gid = 0x1;
- optional string name = 0x2;
- optional Album album = 0x3;
- repeated Artist artist = 0x4;
- optional sint32 number = 0x5;
- optional sint32 disc_number = 0x6;
- optional sint32 duration = 0x7;
- optional sint32 popularity = 0x8;
- optional bool explicit = 0x9;
- repeated ExternalId external_id = 0xa;
- repeated Restriction restriction = 0xb;
- repeated AudioFile file = 0xc;
- repeated Track alternative = 0xd;
- repeated SalePeriod sale_period = 0xe;
- repeated AudioFile preview = 0xf;
- }
- message Image {
- optional bytes file_id = 0x1;
- optional Size size = 0x2;
- enum Size {
- DEFAULT = 0x0;
- SMALL = 0x1;
- LARGE = 0x2;
- XLARGE = 0x3;
- }
- optional sint32 width = 0x3;
- optional sint32 height = 0x4;
- }
- message ImageGroup {
- repeated Image image = 0x1;
- }
- message Biography {
- optional string text = 0x1;
- repeated Image portrait = 0x2;
- repeated ImageGroup portrait_group = 0x3;
- }
- message Disc {
- optional sint32 number = 0x1;
- optional string name = 0x2;
- repeated Track track = 0x3;
- }
- message Copyright {
- optional Type typ = 0x1;
- enum Type {
- P = 0x0;
- C = 0x1;
- }
- optional string text = 0x2;
- }
- message Restriction {
- enum Catalogue {
- AD = 0;
- SUBSCRIPTION = 1;
- CATALOGUE_ALL = 2;
- SHUFFLE = 3;
- COMMERCIAL = 4;
- }
- enum Type {
- STREAMING = 0x0;
- }
- repeated Catalogue catalogue = 0x1;
- optional string countries_allowed = 0x2;
- optional string countries_forbidden = 0x3;
- optional Type typ = 0x4;
- repeated string catalogue_str = 0x5;
- }
- message Availability {
- repeated string catalogue_str = 0x1;
- optional Date start = 0x2;
- }
- message SalePeriod {
- repeated Restriction restriction = 0x1;
- optional Date start = 0x2;
- optional Date end = 0x3;
- }
- message ExternalId {
- optional string typ = 0x1;
- optional string id = 0x2;
- }
- message AudioFile {
- optional bytes file_id = 0x1;
- optional Format format = 0x2;
- enum Format {
- OGG_VORBIS_96 = 0x0;
- OGG_VORBIS_160 = 0x1;
- OGG_VORBIS_320 = 0x2;
- MP3_256 = 0x3;
- MP3_320 = 0x4;
- MP3_160 = 0x5;
- MP3_96 = 0x6;
- MP3_160_ENC = 0x7;
- // v4
- // AAC_24 = 0x8;
- // AAC_48 = 0x9;
- MP4_128_DUAL = 0x8;
- OTHER3 = 0x9;
- AAC_160 = 0xa;
- AAC_320 = 0xb;
- MP4_128 = 0xc;
- OTHER5 = 0xd;
- }
- }
- message VideoFile {
- optional bytes file_id = 1;
- }
- // Podcast Protos
- message Show {
- enum MediaType {
- MIXED = 0;
- AUDIO = 1;
- VIDEO = 2;
- }
- enum ConsumptionOrder {
- SEQUENTIAL = 1;
- EPISODIC = 2;
- RECENT = 3;
- }
- enum PassthroughEnum {
- UNKNOWN = 0;
- NONE = 1;
- ALLOWED = 2;
- }
- optional bytes gid = 0x1;
- optional string name = 0x2;
- optional string description = 0x40;
- optional sint32 deprecated_popularity = 0x41;
- optional string publisher = 0x42;
- optional string language = 0x43;
- optional bool explicit = 0x44;
- optional ImageGroup covers = 0x45;
- repeated Episode episode = 0x46;
- repeated Copyright copyright = 0x47;
- repeated Restriction restriction = 0x48;
- repeated string keyword = 0x49;
- optional MediaType media_type = 0x4A;
- optional ConsumptionOrder consumption_order = 0x4B;
- optional bool interpret_restriction_using_geoip = 0x4C;
- repeated Availability availability = 0x4E;
- optional string country_of_origin = 0x4F;
- repeated Category categories = 0x50;
- optional PassthroughEnum passthrough = 0x51;
- }
- message Episode {
- optional bytes gid = 0x1;
- optional string name = 0x2;
- optional sint32 duration = 0x7;
- optional sint32 popularity = 0x8;
- repeated AudioFile file = 0xc;
- optional string description = 0x40;
- optional sint32 number = 0x41;
- optional Date publish_time = 0x42;
- optional sint32 deprecated_popularity = 0x43;
- optional ImageGroup covers = 0x44;
- optional string language = 0x45;
- optional bool explicit = 0x46;
- optional Show show = 0x47;
- repeated VideoFile video = 0x48;
- repeated VideoFile video_preview = 0x49;
- repeated AudioFile audio_preview = 0x4A;
- repeated Restriction restriction = 0x4B;
- optional ImageGroup freeze_frame = 0x4C;
- repeated string keyword = 0x4D;
- // Order of these two flags might be wrong!
- optional bool suppress_monetization = 0x4E;
- optional bool interpret_restriction_using_geoip = 0x4F;
-
- optional bool allow_background_playback = 0x51;
- repeated Availability availability = 0x52;
- optional string external_url = 0x53;
- optional OriginalAudio original_audio = 0x54;
- }
- message Category {
- optional string name = 0x1;
- repeated Category subcategories = 0x2;
- }
- message OriginalAudio {
- optional bytes uuid = 0x1;
- }
|