mirror of
https://github.com/librespot-org/librespot.git
synced 2025-10-03 09:49:31 +02:00
Initial commit.
This commit is contained in:
commit
a993b60ffa
17 changed files with 872 additions and 0 deletions
154
protocol/metadata.proto
Normal file
154
protocol/metadata.proto
Normal file
|
@ -0,0 +1,154 @@
|
|||
message TopTracks {
|
||||
optional string country = 1;
|
||||
repeated Track track = 2;
|
||||
}
|
||||
message ActivityPeriod {
|
||||
optional sint32 start_year = 1;
|
||||
optional sint32 end_year = 2;
|
||||
optional sint32 decade = 3;
|
||||
}
|
||||
message Artist {
|
||||
optional bytes gid = 1;
|
||||
optional string name = 2;
|
||||
optional sint32 popularity = 3;
|
||||
repeated TopTracks top_track = 4;
|
||||
repeated AlbumGroup album_group = 5;
|
||||
repeated AlbumGroup single_group = 6;
|
||||
repeated AlbumGroup compilation_group = 7;
|
||||
repeated AlbumGroup appears_on_group = 8;
|
||||
repeated string genre = 9;
|
||||
repeated ExternalId external_id = 10;
|
||||
repeated Image portrait = 11;
|
||||
repeated Biography biography = 12;
|
||||
repeated ActivityPeriod activity_period = 13;
|
||||
repeated Restriction restriction = 14;
|
||||
repeated Artist related = 15;
|
||||
optional bool is_portrait_album_cover = 16;
|
||||
optional ImageGroup portrait_group = 17;
|
||||
}
|
||||
message AlbumGroup {
|
||||
repeated Album album = 1;
|
||||
}
|
||||
message Date {
|
||||
optional sint32 year = 1;
|
||||
optional sint32 month = 2;
|
||||
optional sint32 day = 3;
|
||||
}
|
||||
message Album {
|
||||
enum Type {
|
||||
ALBUM = 1;
|
||||
SINGLE = 2;
|
||||
COMPILATION = 3;
|
||||
}
|
||||
optional bytes gid = 1;
|
||||
optional string name = 2;
|
||||
repeated Artist artist = 3;
|
||||
optional Type type = 4;
|
||||
optional string label = 5;
|
||||
optional Date date = 6;
|
||||
optional sint32 popularity = 7;
|
||||
repeated string genre = 8;
|
||||
repeated Image cover = 9;
|
||||
repeated ExternalId external_id = 10;
|
||||
repeated Disc disc = 11;
|
||||
repeated string review = 12;
|
||||
repeated Copyright copyright = 13;
|
||||
repeated Restriction restriction = 14;
|
||||
repeated Album related = 15;
|
||||
repeated SalePeriod sale_period = 16;
|
||||
optional ImageGroup cover_group = 17;
|
||||
}
|
||||
|
||||
message Track {
|
||||
optional bytes gid = 1;
|
||||
optional string name = 2;
|
||||
optional Album album = 3;
|
||||
repeated Artist artist = 4;
|
||||
optional sint32 number = 5;
|
||||
optional sint32 disc_number = 6;
|
||||
optional sint32 duration = 7;
|
||||
optional sint32 popularity = 8;
|
||||
optional bool explicit = 9;
|
||||
repeated ExternalId external_id = 10;
|
||||
repeated Restriction restriction = 11;
|
||||
repeated AudioFile file = 12;
|
||||
repeated Track alternative = 13;
|
||||
repeated SalePeriod sale_period = 14;
|
||||
repeated AudioFile preview = 15;
|
||||
}
|
||||
message Image {
|
||||
enum Size {
|
||||
DEFAULT = 0;
|
||||
SMALL = 1;
|
||||
LARGE = 2;
|
||||
XLARGE = 3;
|
||||
}
|
||||
optional bytes file_id = 1;
|
||||
optional Size size = 2;
|
||||
optional sint32 width = 3;
|
||||
optional sint32 height = 4;
|
||||
}
|
||||
message ImageGroup {
|
||||
repeated Image image = 1;
|
||||
}
|
||||
message Biography {
|
||||
optional string text = 1;
|
||||
repeated Image portrait = 2;
|
||||
repeated ImageGroup portrait_group = 3;
|
||||
}
|
||||
message Disc {
|
||||
optional sint32 number = 1;
|
||||
optional string name = 2;
|
||||
repeated Track track = 3;
|
||||
}
|
||||
message Copyright {
|
||||
enum Type {
|
||||
P = 0;
|
||||
C = 1;
|
||||
}
|
||||
optional Type type = 1;
|
||||
optional string text = 2;
|
||||
}
|
||||
message Restriction {
|
||||
enum Catalogue {
|
||||
FREE = 0;
|
||||
PREMIUM = 1;
|
||||
SHUFFLE = 3;
|
||||
COMMERCIAL = 4;
|
||||
}
|
||||
enum Type {
|
||||
STREAMING = 0;
|
||||
}
|
||||
repeated Catalogue catalogue = 1;
|
||||
optional string countries_allowed = 2;
|
||||
optional string countries_forbidden = 3;
|
||||
optional Type type = 4;
|
||||
repeated string usage = 5;
|
||||
}
|
||||
|
||||
message SalePeriod {
|
||||
repeated Restriction restriction = 1;
|
||||
optional Date start = 2;
|
||||
optional Date end = 3;
|
||||
}
|
||||
|
||||
message ExternalId {
|
||||
optional string type = 1;
|
||||
optional string id = 2;
|
||||
}
|
||||
|
||||
message AudioFile {
|
||||
enum Format {
|
||||
OGG_VORBIS_96 = 0;
|
||||
OGG_VORBIS_160 = 1;
|
||||
OGG_VORBIS_320 = 2;
|
||||
MP3_256 = 3;
|
||||
MP3_320 = 4;
|
||||
MP3_160 = 5;
|
||||
MP3_96 = 6;
|
||||
OTHER1 = 7; // TODO
|
||||
OTHER2 = 8; // TODO
|
||||
}
|
||||
optional bytes gid = 1;
|
||||
optional Format format = 2;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue