2019-01-27 01:15:43 +01:00
|
|
|
syntax = "proto2";
|
|
|
|
|
2012-01-02 18:21:07 +01:00
|
|
|
package pb.tagreader;
|
|
|
|
|
|
|
|
message SongMetadata {
|
|
|
|
enum Type {
|
|
|
|
UNKNOWN = 0;
|
|
|
|
ASF = 1;
|
|
|
|
FLAC = 2;
|
|
|
|
MP4 = 3;
|
|
|
|
MPC = 4;
|
|
|
|
MPEG = 5;
|
|
|
|
OGGFLAC = 6;
|
|
|
|
OGGSPEEX = 7;
|
|
|
|
OGGVORBIS = 8;
|
|
|
|
AIFF = 9;
|
|
|
|
WAV = 10;
|
|
|
|
TRUEAUDIO = 11;
|
|
|
|
CDDA = 12;
|
2013-01-26 12:18:24 +01:00
|
|
|
OGGOPUS = 13;
|
2018-05-01 19:29:47 +02:00
|
|
|
WAVPACK = 14;
|
2018-06-09 08:58:03 +02:00
|
|
|
SPC = 15;
|
2018-06-18 15:26:11 +02:00
|
|
|
VGM = 16;
|
2019-02-14 07:37:44 +01:00
|
|
|
APE = 17;
|
2012-01-02 18:21:07 +01:00
|
|
|
STREAM = 99;
|
|
|
|
}
|
|
|
|
|
|
|
|
optional bool valid = 1;
|
|
|
|
optional string title = 2;
|
|
|
|
optional string album = 3;
|
|
|
|
optional string artist = 4;
|
|
|
|
optional string albumartist = 5;
|
|
|
|
optional string composer = 6;
|
|
|
|
optional int32 track = 7;
|
|
|
|
optional int32 disc = 8;
|
|
|
|
optional float bpm = 9;
|
|
|
|
optional int32 year = 10;
|
|
|
|
optional string genre = 11;
|
|
|
|
optional string comment = 12;
|
|
|
|
optional bool compilation = 13;
|
|
|
|
optional float rating = 14;
|
|
|
|
optional int32 playcount = 15;
|
|
|
|
optional int32 skipcount = 16;
|
|
|
|
optional int32 lastplayed = 17;
|
|
|
|
optional int32 score = 18;
|
|
|
|
optional uint64 length_nanosec = 19;
|
|
|
|
optional int32 bitrate = 20;
|
|
|
|
optional int32 samplerate = 21;
|
|
|
|
optional string url = 22;
|
|
|
|
optional string basefilename = 23;
|
|
|
|
optional int32 mtime = 24;
|
|
|
|
optional int32 ctime = 25;
|
|
|
|
optional int32 filesize = 26;
|
|
|
|
optional bool suspicious_tags = 27;
|
|
|
|
optional string art_automatic = 28;
|
|
|
|
optional Type type = 29;
|
2012-12-06 14:23:27 +01:00
|
|
|
optional string etag = 30;
|
2013-03-03 13:00:24 +01:00
|
|
|
optional string performer = 31;
|
|
|
|
optional string grouping = 32;
|
2015-04-10 21:05:07 +02:00
|
|
|
optional string lyrics = 33;
|
2015-06-30 18:34:34 +02:00
|
|
|
optional int32 originalyear = 34;
|
2012-01-02 18:21:07 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
message ReadFileRequest {
|
|
|
|
optional string filename = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ReadFileResponse {
|
|
|
|
optional SongMetadata metadata = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SaveFileRequest {
|
|
|
|
optional string filename = 1;
|
|
|
|
optional SongMetadata metadata = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SaveFileResponse {
|
|
|
|
optional bool success = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message IsMediaFileRequest {
|
|
|
|
optional string filename = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message IsMediaFileResponse {
|
|
|
|
optional bool success = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message LoadEmbeddedArtRequest {
|
|
|
|
optional string filename = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message LoadEmbeddedArtResponse {
|
|
|
|
optional bytes data = 1;
|
|
|
|
}
|
|
|
|
|
2012-11-28 16:34:10 +01:00
|
|
|
message ReadCloudFileRequest {
|
2012-07-28 20:35:12 +02:00
|
|
|
optional string download_url = 1;
|
|
|
|
optional string title = 2;
|
|
|
|
optional int32 size = 3;
|
2012-11-28 14:43:03 +01:00
|
|
|
optional string authorisation_header = 4;
|
2012-07-31 11:57:04 +02:00
|
|
|
optional string mime_type = 5;
|
2012-07-28 20:35:12 +02:00
|
|
|
}
|
|
|
|
|
2012-11-28 16:34:10 +01:00
|
|
|
message ReadCloudFileResponse {
|
2012-07-28 20:35:12 +02:00
|
|
|
optional SongMetadata metadata = 1;
|
|
|
|
}
|
|
|
|
|
2013-02-24 17:45:25 +01:00
|
|
|
message SaveSongStatisticsToFileRequest {
|
|
|
|
optional string filename = 1;
|
|
|
|
optional SongMetadata metadata = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SaveSongStatisticsToFileResponse {
|
|
|
|
optional bool success = 1;
|
|
|
|
}
|
|
|
|
|
2013-03-30 23:42:29 +01:00
|
|
|
message SaveSongRatingToFileRequest {
|
|
|
|
optional string filename = 1;
|
|
|
|
optional SongMetadata metadata = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SaveSongRatingToFileResponse {
|
|
|
|
optional bool success = 1;
|
|
|
|
}
|
|
|
|
|
2012-01-02 18:21:07 +01:00
|
|
|
message Message {
|
|
|
|
optional int32 id = 1;
|
|
|
|
|
|
|
|
optional ReadFileRequest read_file_request = 2;
|
|
|
|
optional ReadFileResponse read_file_response = 3;
|
|
|
|
|
|
|
|
optional SaveFileRequest save_file_request = 4;
|
|
|
|
optional SaveFileResponse save_file_response = 5;
|
|
|
|
|
|
|
|
optional IsMediaFileRequest is_media_file_request = 6;
|
|
|
|
optional IsMediaFileResponse is_media_file_response = 7;
|
|
|
|
|
|
|
|
optional LoadEmbeddedArtRequest load_embedded_art_request = 8;
|
|
|
|
optional LoadEmbeddedArtResponse load_embedded_art_response = 9;
|
2012-07-28 20:35:12 +02:00
|
|
|
|
2012-11-28 16:34:10 +01:00
|
|
|
optional ReadCloudFileRequest read_cloud_file_request = 10;
|
|
|
|
optional ReadCloudFileResponse read_cloud_file_response = 11;
|
2013-02-24 17:45:25 +01:00
|
|
|
|
|
|
|
optional SaveSongStatisticsToFileRequest save_song_statistics_to_file_request = 12;
|
|
|
|
optional SaveSongStatisticsToFileResponse save_song_statistics_to_file_response = 13;
|
|
|
|
|
2013-03-30 23:42:29 +01:00
|
|
|
optional SaveSongRatingToFileRequest save_song_rating_to_file_request = 14;
|
|
|
|
optional SaveSongRatingToFileResponse save_song_rating_to_file_response = 15;
|
2012-01-02 18:21:07 +01:00
|
|
|
}
|