mirror of
https://github.com/clementine-player/Clementine
synced 2024-12-15 18:58:55 +01:00
88918d45c5
Save rating and statistics in two distinct ways, and let users activate them separately in preferences.
143 lines
3.4 KiB
Protocol Buffer
143 lines
3.4 KiB
Protocol Buffer
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;
|
|
OGGOPUS = 13;
|
|
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;
|
|
optional string etag = 30;
|
|
optional string performer = 31;
|
|
optional string grouping = 32;
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
message ReadCloudFileRequest {
|
|
optional string download_url = 1;
|
|
optional string title = 2;
|
|
optional int32 size = 3;
|
|
optional string authorisation_header = 4;
|
|
optional string mime_type = 5;
|
|
}
|
|
|
|
message ReadCloudFileResponse {
|
|
optional SongMetadata metadata = 1;
|
|
}
|
|
|
|
message SaveSongStatisticsToFileRequest {
|
|
optional string filename = 1;
|
|
optional SongMetadata metadata = 2;
|
|
}
|
|
|
|
message SaveSongStatisticsToFileResponse {
|
|
optional bool success = 1;
|
|
}
|
|
|
|
message SaveSongRatingToFileRequest {
|
|
optional string filename = 1;
|
|
optional SongMetadata metadata = 2;
|
|
}
|
|
|
|
message SaveSongRatingToFileResponse {
|
|
optional bool success = 1;
|
|
}
|
|
|
|
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;
|
|
|
|
optional ReadCloudFileRequest read_cloud_file_request = 10;
|
|
optional ReadCloudFileResponse read_cloud_file_response = 11;
|
|
|
|
optional SaveSongStatisticsToFileRequest save_song_statistics_to_file_request = 12;
|
|
optional SaveSongStatisticsToFileResponse save_song_statistics_to_file_response = 13;
|
|
|
|
optional SaveSongRatingToFileRequest save_song_rating_to_file_request = 14;
|
|
optional SaveSongRatingToFileResponse save_song_rating_to_file_response = 15;
|
|
}
|