Add album/track releases with audio analysis, AnalyzeAlbumRelease RPC, Docker path auto-resolution, release parsing decision tree

This commit is contained in:
Alexander
2026-05-09 23:16:59 +02:00
parent 1e8506f146
commit 2740585261
25 changed files with 1841 additions and 125 deletions
+49 -1
View File
@@ -6,6 +6,7 @@ service MusicAgregatorService {
rpc MonitorAlbum(MonitorAlbumRequest) returns (MonitorAlbumResponse) {}
rpc GetArtists(GetArtistsRequest) returns (GetArtistsResponse) {}
rpc GetAlbum(GetAlbumRequest) returns (GetAlbumResponse) {}
rpc AnalyzeAlbumRelease(AnalyzeAlbumReleaseRequest) returns (AnalyzeAlbumReleaseResponse) {}
}
message MonitorAlbumRequest {
@@ -81,9 +82,22 @@ message GetAlbumRequest {
string album_id = 1;
}
message GetAlbumResponse {
message AlbumInfo {
AlbumDetail album = 1;
repeated TrackDetail tracks = 2;
AlbumReleaseDetail release = 3;
}
message GetAlbumResponse {
AlbumInfo info = 1;
}
message AnalyzeAlbumReleaseRequest {
string album_id = 1;
}
message AnalyzeAlbumReleaseResponse {
AlbumInfo info = 1;
}
message TrackDetail {
@@ -110,6 +124,40 @@ message TrackFile {
int64 size = 3;
}
message AlbumReleaseDetail {
string id = 1;
string format = 2;
int32 bit_depth = 3;
int32 sample_rate = 4;
int32 channels = 5;
bool is_lossless = 6;
string source = 7;
int64 total_size = 8;
int32 total_duration_ms = 9;
int32 track_count = 10;
bool has_cover_art = 11;
bool has_cue_sheet = 12;
bool has_rip_log = 13;
string path = 14;
repeated TrackReleaseDetail tracks = 15;
}
message TrackReleaseDetail {
string id = 1;
string track_id = 2;
string title = 3;
int32 track_number = 4;
int32 disc_number = 5;
int32 duration_ms = 6;
string format = 7;
int32 bit_depth = 8;
int32 sample_rate = 9;
int32 channels = 10;
int32 bitrate_kbps = 11;
int64 file_size = 12;
string file_path = 13;
}
message MonitoredRelease {
string info_hash = 1;
string artist = 2;