Files
music-agregator/gen/music_agregator/v1/music_agregator.pb.go
T
2026-05-20 09:46:43 +02:00

4250 lines
132 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: music_agregator/v1/music_agregator.proto
package v1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type QualityType int32
const (
QualityType_QUALITY_UNSPECIFIED QualityType = 0
QualityType_QUALITY_LOSSLESS QualityType = 1
QualityType_QUALITY_LOSSY QualityType = 2
)
// Enum value maps for QualityType.
var (
QualityType_name = map[int32]string{
0: "QUALITY_UNSPECIFIED",
1: "QUALITY_LOSSLESS",
2: "QUALITY_LOSSY",
}
QualityType_value = map[string]int32{
"QUALITY_UNSPECIFIED": 0,
"QUALITY_LOSSLESS": 1,
"QUALITY_LOSSY": 2,
}
)
func (x QualityType) Enum() *QualityType {
p := new(QualityType)
*p = x
return p
}
func (x QualityType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (QualityType) Descriptor() protoreflect.EnumDescriptor {
return file_music_agregator_v1_music_agregator_proto_enumTypes[0].Descriptor()
}
func (QualityType) Type() protoreflect.EnumType {
return &file_music_agregator_v1_music_agregator_proto_enumTypes[0]
}
func (x QualityType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use QualityType.Descriptor instead.
func (QualityType) EnumDescriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{0}
}
type MonitorState int32
const (
MonitorState_MONITOR_STATE_UNSPECIFIED MonitorState = 0
MonitorState_MONITOR_STATE_MONITORED MonitorState = 1
MonitorState_MONITOR_STATE_UNMONITORED MonitorState = 2
MonitorState_MONITOR_STATE_EXCLUDED MonitorState = 3
)
// Enum value maps for MonitorState.
var (
MonitorState_name = map[int32]string{
0: "MONITOR_STATE_UNSPECIFIED",
1: "MONITOR_STATE_MONITORED",
2: "MONITOR_STATE_UNMONITORED",
3: "MONITOR_STATE_EXCLUDED",
}
MonitorState_value = map[string]int32{
"MONITOR_STATE_UNSPECIFIED": 0,
"MONITOR_STATE_MONITORED": 1,
"MONITOR_STATE_UNMONITORED": 2,
"MONITOR_STATE_EXCLUDED": 3,
}
)
func (x MonitorState) Enum() *MonitorState {
p := new(MonitorState)
*p = x
return p
}
func (x MonitorState) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MonitorState) Descriptor() protoreflect.EnumDescriptor {
return file_music_agregator_v1_music_agregator_proto_enumTypes[1].Descriptor()
}
func (MonitorState) Type() protoreflect.EnumType {
return &file_music_agregator_v1_music_agregator_proto_enumTypes[1]
}
func (x MonitorState) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MonitorState.Descriptor instead.
func (MonitorState) EnumDescriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{1}
}
type InteractionMode int32
const (
InteractionMode_INTERACTION_MODE_AUTOMATIC InteractionMode = 0
InteractionMode_INTERACTION_MODE_MANUAL InteractionMode = 1
)
// Enum value maps for InteractionMode.
var (
InteractionMode_name = map[int32]string{
0: "INTERACTION_MODE_AUTOMATIC",
1: "INTERACTION_MODE_MANUAL",
}
InteractionMode_value = map[string]int32{
"INTERACTION_MODE_AUTOMATIC": 0,
"INTERACTION_MODE_MANUAL": 1,
}
)
func (x InteractionMode) Enum() *InteractionMode {
p := new(InteractionMode)
*p = x
return p
}
func (x InteractionMode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (InteractionMode) Descriptor() protoreflect.EnumDescriptor {
return file_music_agregator_v1_music_agregator_proto_enumTypes[2].Descriptor()
}
func (InteractionMode) Type() protoreflect.EnumType {
return &file_music_agregator_v1_music_agregator_proto_enumTypes[2]
}
func (x InteractionMode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use InteractionMode.Descriptor instead.
func (InteractionMode) EnumDescriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{2}
}
type MonitorStep int32
const (
MonitorStep_MONITOR_STEP_UNSPECIFIED MonitorStep = 0
MonitorStep_MONITOR_STEP_FETCHING_METADATA MonitorStep = 1
MonitorStep_MONITOR_STEP_CHECKING_OWNED MonitorStep = 2
MonitorStep_MONITOR_STEP_SEARCHING_INDEXER MonitorStep = 3
MonitorStep_MONITOR_STEP_PARSING_RESULTS MonitorStep = 4
MonitorStep_MONITOR_STEP_FILTERING_QUALITY MonitorStep = 5
MonitorStep_MONITOR_STEP_SELECTING_RELEASE MonitorStep = 6
MonitorStep_MONITOR_STEP_ADDING_TORRENT MonitorStep = 7
MonitorStep_MONITOR_STEP_SAVING MonitorStep = 8
MonitorStep_MONITOR_STEP_COMPLETE MonitorStep = 9
)
// Enum value maps for MonitorStep.
var (
MonitorStep_name = map[int32]string{
0: "MONITOR_STEP_UNSPECIFIED",
1: "MONITOR_STEP_FETCHING_METADATA",
2: "MONITOR_STEP_CHECKING_OWNED",
3: "MONITOR_STEP_SEARCHING_INDEXER",
4: "MONITOR_STEP_PARSING_RESULTS",
5: "MONITOR_STEP_FILTERING_QUALITY",
6: "MONITOR_STEP_SELECTING_RELEASE",
7: "MONITOR_STEP_ADDING_TORRENT",
8: "MONITOR_STEP_SAVING",
9: "MONITOR_STEP_COMPLETE",
}
MonitorStep_value = map[string]int32{
"MONITOR_STEP_UNSPECIFIED": 0,
"MONITOR_STEP_FETCHING_METADATA": 1,
"MONITOR_STEP_CHECKING_OWNED": 2,
"MONITOR_STEP_SEARCHING_INDEXER": 3,
"MONITOR_STEP_PARSING_RESULTS": 4,
"MONITOR_STEP_FILTERING_QUALITY": 5,
"MONITOR_STEP_SELECTING_RELEASE": 6,
"MONITOR_STEP_ADDING_TORRENT": 7,
"MONITOR_STEP_SAVING": 8,
"MONITOR_STEP_COMPLETE": 9,
}
)
func (x MonitorStep) Enum() *MonitorStep {
p := new(MonitorStep)
*p = x
return p
}
func (x MonitorStep) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MonitorStep) Descriptor() protoreflect.EnumDescriptor {
return file_music_agregator_v1_music_agregator_proto_enumTypes[3].Descriptor()
}
func (MonitorStep) Type() protoreflect.EnumType {
return &file_music_agregator_v1_music_agregator_proto_enumTypes[3]
}
func (x MonitorStep) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MonitorStep.Descriptor instead.
func (MonitorStep) EnumDescriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{3}
}
type PromptType int32
const (
PromptType_PROMPT_TYPE_UNSPECIFIED PromptType = 0
PromptType_PROMPT_TYPE_CONFIRM PromptType = 1
PromptType_PROMPT_TYPE_SELECT_ONE PromptType = 2
PromptType_PROMPT_TYPE_SELECT_MANY PromptType = 3
)
// Enum value maps for PromptType.
var (
PromptType_name = map[int32]string{
0: "PROMPT_TYPE_UNSPECIFIED",
1: "PROMPT_TYPE_CONFIRM",
2: "PROMPT_TYPE_SELECT_ONE",
3: "PROMPT_TYPE_SELECT_MANY",
}
PromptType_value = map[string]int32{
"PROMPT_TYPE_UNSPECIFIED": 0,
"PROMPT_TYPE_CONFIRM": 1,
"PROMPT_TYPE_SELECT_ONE": 2,
"PROMPT_TYPE_SELECT_MANY": 3,
}
)
func (x PromptType) Enum() *PromptType {
p := new(PromptType)
*p = x
return p
}
func (x PromptType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PromptType) Descriptor() protoreflect.EnumDescriptor {
return file_music_agregator_v1_music_agregator_proto_enumTypes[4].Descriptor()
}
func (PromptType) Type() protoreflect.EnumType {
return &file_music_agregator_v1_music_agregator_proto_enumTypes[4]
}
func (x PromptType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PromptType.Descriptor instead.
func (PromptType) EnumDescriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{4}
}
type MonitorAlbumRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
AlbumId string `protobuf:"bytes,1,opt,name=album_id,json=albumId,proto3" json:"album_id,omitempty"`
IndexerOptions *IndexerOptions `protobuf:"bytes,2,opt,name=indexer_options,json=indexerOptions,proto3" json:"indexer_options,omitempty"`
Quality QualityType `protobuf:"varint,3,opt,name=quality,proto3,enum=music_agregator.v1.QualityType" json:"quality,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MonitorAlbumRequest) Reset() {
*x = MonitorAlbumRequest{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MonitorAlbumRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MonitorAlbumRequest) ProtoMessage() {}
func (x *MonitorAlbumRequest) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MonitorAlbumRequest.ProtoReflect.Descriptor instead.
func (*MonitorAlbumRequest) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{0}
}
func (x *MonitorAlbumRequest) GetAlbumId() string {
if x != nil {
return x.AlbumId
}
return ""
}
func (x *MonitorAlbumRequest) GetIndexerOptions() *IndexerOptions {
if x != nil {
return x.IndexerOptions
}
return nil
}
func (x *MonitorAlbumRequest) GetQuality() QualityType {
if x != nil {
return x.Quality
}
return QualityType_QUALITY_UNSPECIFIED
}
type IndexerOptions struct {
state protoimpl.MessageState `protogen:"open.v1"`
Tracker string `protobuf:"bytes,1,opt,name=tracker,proto3" json:"tracker,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *IndexerOptions) Reset() {
*x = IndexerOptions{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *IndexerOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IndexerOptions) ProtoMessage() {}
func (x *IndexerOptions) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IndexerOptions.ProtoReflect.Descriptor instead.
func (*IndexerOptions) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{1}
}
func (x *IndexerOptions) GetTracker() string {
if x != nil {
return x.Tracker
}
return ""
}
type MonitorAlbumResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Album *AlbumDetail `protobuf:"bytes,1,opt,name=album,proto3" json:"album,omitempty"`
Artist *ArtistSummary `protobuf:"bytes,2,opt,name=artist,proto3" json:"artist,omitempty"`
Release *MonitoredRelease `protobuf:"bytes,3,opt,name=release,proto3" json:"release,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MonitorAlbumResponse) Reset() {
*x = MonitorAlbumResponse{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MonitorAlbumResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MonitorAlbumResponse) ProtoMessage() {}
func (x *MonitorAlbumResponse) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MonitorAlbumResponse.ProtoReflect.Descriptor instead.
func (*MonitorAlbumResponse) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{2}
}
func (x *MonitorAlbumResponse) GetAlbum() *AlbumDetail {
if x != nil {
return x.Album
}
return nil
}
func (x *MonitorAlbumResponse) GetArtist() *ArtistSummary {
if x != nil {
return x.Artist
}
return nil
}
func (x *MonitorAlbumResponse) GetRelease() *MonitoredRelease {
if x != nil {
return x.Release
}
return nil
}
type GetArtistsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetArtistsRequest) Reset() {
*x = GetArtistsRequest{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetArtistsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetArtistsRequest) ProtoMessage() {}
func (x *GetArtistsRequest) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetArtistsRequest.ProtoReflect.Descriptor instead.
func (*GetArtistsRequest) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{3}
}
type GetArtistsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Artists []*ArtistSummary `protobuf:"bytes,1,rep,name=artists,proto3" json:"artists,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetArtistsResponse) Reset() {
*x = GetArtistsResponse{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetArtistsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetArtistsResponse) ProtoMessage() {}
func (x *GetArtistsResponse) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetArtistsResponse.ProtoReflect.Descriptor instead.
func (*GetArtistsResponse) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{4}
}
func (x *GetArtistsResponse) GetArtists() []*ArtistSummary {
if x != nil {
return x.Artists
}
return nil
}
type ArtistSummary struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
ArtistType string `protobuf:"bytes,4,opt,name=artist_type,json=artistType,proto3" json:"artist_type,omitempty"`
Country string `protobuf:"bytes,5,opt,name=country,proto3" json:"country,omitempty"`
Genres []string `protobuf:"bytes,6,rep,name=genres,proto3" json:"genres,omitempty"`
ImageUrl string `protobuf:"bytes,7,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
MonitorState MonitorState `protobuf:"varint,8,opt,name=monitor_state,json=monitorState,proto3,enum=music_agregator.v1.MonitorState" json:"monitor_state,omitempty"`
Albums []*AlbumDetail `protobuf:"bytes,9,rep,name=albums,proto3" json:"albums,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ArtistSummary) Reset() {
*x = ArtistSummary{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ArtistSummary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ArtistSummary) ProtoMessage() {}
func (x *ArtistSummary) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ArtistSummary.ProtoReflect.Descriptor instead.
func (*ArtistSummary) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{5}
}
func (x *ArtistSummary) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ArtistSummary) GetExternalId() string {
if x != nil {
return x.ExternalId
}
return ""
}
func (x *ArtistSummary) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ArtistSummary) GetArtistType() string {
if x != nil {
return x.ArtistType
}
return ""
}
func (x *ArtistSummary) GetCountry() string {
if x != nil {
return x.Country
}
return ""
}
func (x *ArtistSummary) GetGenres() []string {
if x != nil {
return x.Genres
}
return nil
}
func (x *ArtistSummary) GetImageUrl() string {
if x != nil {
return x.ImageUrl
}
return ""
}
func (x *ArtistSummary) GetMonitorState() MonitorState {
if x != nil {
return x.MonitorState
}
return MonitorState_MONITOR_STATE_UNSPECIFIED
}
func (x *ArtistSummary) GetAlbums() []*AlbumDetail {
if x != nil {
return x.Albums
}
return nil
}
type AlbumDetail struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
AlbumType string `protobuf:"bytes,4,opt,name=album_type,json=albumType,proto3" json:"album_type,omitempty"`
ReleaseDate string `protobuf:"bytes,5,opt,name=release_date,json=releaseDate,proto3" json:"release_date,omitempty"`
TotalTracks int32 `protobuf:"varint,6,opt,name=total_tracks,json=totalTracks,proto3" json:"total_tracks,omitempty"`
TotalDiscs int32 `protobuf:"varint,7,opt,name=total_discs,json=totalDiscs,proto3" json:"total_discs,omitempty"`
CoverUrl string `protobuf:"bytes,8,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"`
Genres []string `protobuf:"bytes,9,rep,name=genres,proto3" json:"genres,omitempty"`
Label string `protobuf:"bytes,10,opt,name=label,proto3" json:"label,omitempty"`
MonitorState MonitorState `protobuf:"varint,11,opt,name=monitor_state,json=monitorState,proto3,enum=music_agregator.v1.MonitorState" json:"monitor_state,omitempty"`
Downloads []*DownloadInfo `protobuf:"bytes,12,rep,name=downloads,proto3" json:"downloads,omitempty"`
Release *AlbumReleaseDetail `protobuf:"bytes,13,opt,name=release,proto3" json:"release,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AlbumDetail) Reset() {
*x = AlbumDetail{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AlbumDetail) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AlbumDetail) ProtoMessage() {}
func (x *AlbumDetail) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AlbumDetail.ProtoReflect.Descriptor instead.
func (*AlbumDetail) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{6}
}
func (x *AlbumDetail) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *AlbumDetail) GetExternalId() string {
if x != nil {
return x.ExternalId
}
return ""
}
func (x *AlbumDetail) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *AlbumDetail) GetAlbumType() string {
if x != nil {
return x.AlbumType
}
return ""
}
func (x *AlbumDetail) GetReleaseDate() string {
if x != nil {
return x.ReleaseDate
}
return ""
}
func (x *AlbumDetail) GetTotalTracks() int32 {
if x != nil {
return x.TotalTracks
}
return 0
}
func (x *AlbumDetail) GetTotalDiscs() int32 {
if x != nil {
return x.TotalDiscs
}
return 0
}
func (x *AlbumDetail) GetCoverUrl() string {
if x != nil {
return x.CoverUrl
}
return ""
}
func (x *AlbumDetail) GetGenres() []string {
if x != nil {
return x.Genres
}
return nil
}
func (x *AlbumDetail) GetLabel() string {
if x != nil {
return x.Label
}
return ""
}
func (x *AlbumDetail) GetMonitorState() MonitorState {
if x != nil {
return x.MonitorState
}
return MonitorState_MONITOR_STATE_UNSPECIFIED
}
func (x *AlbumDetail) GetDownloads() []*DownloadInfo {
if x != nil {
return x.Downloads
}
return nil
}
func (x *AlbumDetail) GetRelease() *AlbumReleaseDetail {
if x != nil {
return x.Release
}
return nil
}
type DownloadInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"`
Quality string `protobuf:"bytes,3,opt,name=quality,proto3" json:"quality,omitempty"`
SavePath string `protobuf:"bytes,4,opt,name=save_path,json=savePath,proto3" json:"save_path,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DownloadInfo) Reset() {
*x = DownloadInfo{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DownloadInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadInfo) ProtoMessage() {}
func (x *DownloadInfo) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DownloadInfo.ProtoReflect.Descriptor instead.
func (*DownloadInfo) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{7}
}
func (x *DownloadInfo) GetState() string {
if x != nil {
return x.State
}
return ""
}
func (x *DownloadInfo) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
func (x *DownloadInfo) GetQuality() string {
if x != nil {
return x.Quality
}
return ""
}
func (x *DownloadInfo) GetSavePath() string {
if x != nil {
return x.SavePath
}
return ""
}
type GetAlbumRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
AlbumId string `protobuf:"bytes,1,opt,name=album_id,json=albumId,proto3" json:"album_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetAlbumRequest) Reset() {
*x = GetAlbumRequest{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetAlbumRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAlbumRequest) ProtoMessage() {}
func (x *GetAlbumRequest) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAlbumRequest.ProtoReflect.Descriptor instead.
func (*GetAlbumRequest) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{8}
}
func (x *GetAlbumRequest) GetAlbumId() string {
if x != nil {
return x.AlbumId
}
return ""
}
type AlbumInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Album *AlbumDetail `protobuf:"bytes,1,opt,name=album,proto3" json:"album,omitempty"`
Tracks []*TrackDetail `protobuf:"bytes,2,rep,name=tracks,proto3" json:"tracks,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AlbumInfo) Reset() {
*x = AlbumInfo{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AlbumInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AlbumInfo) ProtoMessage() {}
func (x *AlbumInfo) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AlbumInfo.ProtoReflect.Descriptor instead.
func (*AlbumInfo) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{9}
}
func (x *AlbumInfo) GetAlbum() *AlbumDetail {
if x != nil {
return x.Album
}
return nil
}
func (x *AlbumInfo) GetTracks() []*TrackDetail {
if x != nil {
return x.Tracks
}
return nil
}
type GetAlbumResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Info *AlbumInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetAlbumResponse) Reset() {
*x = GetAlbumResponse{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetAlbumResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAlbumResponse) ProtoMessage() {}
func (x *GetAlbumResponse) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAlbumResponse.ProtoReflect.Descriptor instead.
func (*GetAlbumResponse) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{10}
}
func (x *GetAlbumResponse) GetInfo() *AlbumInfo {
if x != nil {
return x.Info
}
return nil
}
type AnalyzeAlbumReleaseRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
AlbumId string `protobuf:"bytes,1,opt,name=album_id,json=albumId,proto3" json:"album_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AnalyzeAlbumReleaseRequest) Reset() {
*x = AnalyzeAlbumReleaseRequest{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AnalyzeAlbumReleaseRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnalyzeAlbumReleaseRequest) ProtoMessage() {}
func (x *AnalyzeAlbumReleaseRequest) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AnalyzeAlbumReleaseRequest.ProtoReflect.Descriptor instead.
func (*AnalyzeAlbumReleaseRequest) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{11}
}
func (x *AnalyzeAlbumReleaseRequest) GetAlbumId() string {
if x != nil {
return x.AlbumId
}
return ""
}
type AnalyzeAlbumReleaseResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Info *AlbumInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AnalyzeAlbumReleaseResponse) Reset() {
*x = AnalyzeAlbumReleaseResponse{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AnalyzeAlbumReleaseResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnalyzeAlbumReleaseResponse) ProtoMessage() {}
func (x *AnalyzeAlbumReleaseResponse) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AnalyzeAlbumReleaseResponse.ProtoReflect.Descriptor instead.
func (*AnalyzeAlbumReleaseResponse) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{12}
}
func (x *AnalyzeAlbumReleaseResponse) GetInfo() *AlbumInfo {
if x != nil {
return x.Info
}
return nil
}
type TrackDetail struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
DurationMs int32 `protobuf:"varint,4,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
DiscNumber int32 `protobuf:"varint,5,opt,name=disc_number,json=discNumber,proto3" json:"disc_number,omitempty"`
TrackNumber int32 `protobuf:"varint,6,opt,name=track_number,json=trackNumber,proto3" json:"track_number,omitempty"`
Isrc string `protobuf:"bytes,7,opt,name=isrc,proto3" json:"isrc,omitempty"`
Explicit bool `protobuf:"varint,8,opt,name=explicit,proto3" json:"explicit,omitempty"`
Artists []*ArtistCredit `protobuf:"bytes,9,rep,name=artists,proto3" json:"artists,omitempty"`
FilePath string `protobuf:"bytes,10,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"`
FileSize int64 `protobuf:"varint,11,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
Format string `protobuf:"bytes,12,opt,name=format,proto3" json:"format,omitempty"`
BitDepth int32 `protobuf:"varint,13,opt,name=bit_depth,json=bitDepth,proto3" json:"bit_depth,omitempty"`
SampleRate int32 `protobuf:"varint,14,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"`
Channels int32 `protobuf:"varint,15,opt,name=channels,proto3" json:"channels,omitempty"`
BitrateKbps int32 `protobuf:"varint,16,opt,name=bitrate_kbps,json=bitrateKbps,proto3" json:"bitrate_kbps,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TrackDetail) Reset() {
*x = TrackDetail{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TrackDetail) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrackDetail) ProtoMessage() {}
func (x *TrackDetail) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TrackDetail.ProtoReflect.Descriptor instead.
func (*TrackDetail) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{13}
}
func (x *TrackDetail) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *TrackDetail) GetExternalId() string {
if x != nil {
return x.ExternalId
}
return ""
}
func (x *TrackDetail) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *TrackDetail) GetDurationMs() int32 {
if x != nil {
return x.DurationMs
}
return 0
}
func (x *TrackDetail) GetDiscNumber() int32 {
if x != nil {
return x.DiscNumber
}
return 0
}
func (x *TrackDetail) GetTrackNumber() int32 {
if x != nil {
return x.TrackNumber
}
return 0
}
func (x *TrackDetail) GetIsrc() string {
if x != nil {
return x.Isrc
}
return ""
}
func (x *TrackDetail) GetExplicit() bool {
if x != nil {
return x.Explicit
}
return false
}
func (x *TrackDetail) GetArtists() []*ArtistCredit {
if x != nil {
return x.Artists
}
return nil
}
func (x *TrackDetail) GetFilePath() string {
if x != nil {
return x.FilePath
}
return ""
}
func (x *TrackDetail) GetFileSize() int64 {
if x != nil {
return x.FileSize
}
return 0
}
func (x *TrackDetail) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
func (x *TrackDetail) GetBitDepth() int32 {
if x != nil {
return x.BitDepth
}
return 0
}
func (x *TrackDetail) GetSampleRate() int32 {
if x != nil {
return x.SampleRate
}
return 0
}
func (x *TrackDetail) GetChannels() int32 {
if x != nil {
return x.Channels
}
return 0
}
func (x *TrackDetail) GetBitrateKbps() int32 {
if x != nil {
return x.BitrateKbps
}
return 0
}
type ArtistCredit struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ArtistCredit) Reset() {
*x = ArtistCredit{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ArtistCredit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ArtistCredit) ProtoMessage() {}
func (x *ArtistCredit) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ArtistCredit.ProtoReflect.Descriptor instead.
func (*ArtistCredit) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{14}
}
func (x *ArtistCredit) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ArtistCredit) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type AlbumReleaseDetail struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"`
BitDepth int32 `protobuf:"varint,3,opt,name=bit_depth,json=bitDepth,proto3" json:"bit_depth,omitempty"`
SampleRate int32 `protobuf:"varint,4,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"`
Channels int32 `protobuf:"varint,5,opt,name=channels,proto3" json:"channels,omitempty"`
IsLossless bool `protobuf:"varint,6,opt,name=is_lossless,json=isLossless,proto3" json:"is_lossless,omitempty"`
Source string `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"`
TotalSize int64 `protobuf:"varint,8,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
TotalDurationMs int32 `protobuf:"varint,9,opt,name=total_duration_ms,json=totalDurationMs,proto3" json:"total_duration_ms,omitempty"`
TrackCount int32 `protobuf:"varint,10,opt,name=track_count,json=trackCount,proto3" json:"track_count,omitempty"`
HasCoverArt bool `protobuf:"varint,11,opt,name=has_cover_art,json=hasCoverArt,proto3" json:"has_cover_art,omitempty"`
HasCueSheet bool `protobuf:"varint,12,opt,name=has_cue_sheet,json=hasCueSheet,proto3" json:"has_cue_sheet,omitempty"`
HasRipLog bool `protobuf:"varint,13,opt,name=has_rip_log,json=hasRipLog,proto3" json:"has_rip_log,omitempty"`
Path string `protobuf:"bytes,14,opt,name=path,proto3" json:"path,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AlbumReleaseDetail) Reset() {
*x = AlbumReleaseDetail{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AlbumReleaseDetail) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AlbumReleaseDetail) ProtoMessage() {}
func (x *AlbumReleaseDetail) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AlbumReleaseDetail.ProtoReflect.Descriptor instead.
func (*AlbumReleaseDetail) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{15}
}
func (x *AlbumReleaseDetail) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *AlbumReleaseDetail) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
func (x *AlbumReleaseDetail) GetBitDepth() int32 {
if x != nil {
return x.BitDepth
}
return 0
}
func (x *AlbumReleaseDetail) GetSampleRate() int32 {
if x != nil {
return x.SampleRate
}
return 0
}
func (x *AlbumReleaseDetail) GetChannels() int32 {
if x != nil {
return x.Channels
}
return 0
}
func (x *AlbumReleaseDetail) GetIsLossless() bool {
if x != nil {
return x.IsLossless
}
return false
}
func (x *AlbumReleaseDetail) GetSource() string {
if x != nil {
return x.Source
}
return ""
}
func (x *AlbumReleaseDetail) GetTotalSize() int64 {
if x != nil {
return x.TotalSize
}
return 0
}
func (x *AlbumReleaseDetail) GetTotalDurationMs() int32 {
if x != nil {
return x.TotalDurationMs
}
return 0
}
func (x *AlbumReleaseDetail) GetTrackCount() int32 {
if x != nil {
return x.TrackCount
}
return 0
}
func (x *AlbumReleaseDetail) GetHasCoverArt() bool {
if x != nil {
return x.HasCoverArt
}
return false
}
func (x *AlbumReleaseDetail) GetHasCueSheet() bool {
if x != nil {
return x.HasCueSheet
}
return false
}
func (x *AlbumReleaseDetail) GetHasRipLog() bool {
if x != nil {
return x.HasRipLog
}
return false
}
func (x *AlbumReleaseDetail) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
type MonitoredRelease struct {
state protoimpl.MessageState `protogen:"open.v1"`
InfoHash string `protobuf:"bytes,1,opt,name=info_hash,json=infoHash,proto3" json:"info_hash,omitempty"`
Artist string `protobuf:"bytes,2,opt,name=artist,proto3" json:"artist,omitempty"`
Album string `protobuf:"bytes,3,opt,name=album,proto3" json:"album,omitempty"`
Year int32 `protobuf:"varint,4,opt,name=year,proto3" json:"year,omitempty"`
Format string `protobuf:"bytes,5,opt,name=format,proto3" json:"format,omitempty"`
Lossless bool `protobuf:"varint,6,opt,name=lossless,proto3" json:"lossless,omitempty"`
BitDepth int32 `protobuf:"varint,7,opt,name=bit_depth,json=bitDepth,proto3" json:"bit_depth,omitempty"`
SampleRate int32 `protobuf:"varint,8,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"`
Source string `protobuf:"bytes,9,opt,name=source,proto3" json:"source,omitempty"`
TrackCount int32 `protobuf:"varint,10,opt,name=track_count,json=trackCount,proto3" json:"track_count,omitempty"`
TrackNames []string `protobuf:"bytes,11,rep,name=track_names,json=trackNames,proto3" json:"track_names,omitempty"`
HasCoverArt bool `protobuf:"varint,12,opt,name=has_cover_art,json=hasCoverArt,proto3" json:"has_cover_art,omitempty"`
HasCueSheet bool `protobuf:"varint,13,opt,name=has_cue_sheet,json=hasCueSheet,proto3" json:"has_cue_sheet,omitempty"`
HasRipLog bool `protobuf:"varint,14,opt,name=has_rip_log,json=hasRipLog,proto3" json:"has_rip_log,omitempty"`
TotalAudioSize int64 `protobuf:"varint,15,opt,name=total_audio_size,json=totalAudioSize,proto3" json:"total_audio_size,omitempty"`
DownloadLink string `protobuf:"bytes,16,opt,name=download_link,json=downloadLink,proto3" json:"download_link,omitempty"`
Seeders int32 `protobuf:"varint,17,opt,name=seeders,proto3" json:"seeders,omitempty"`
Tracker string `protobuf:"bytes,18,opt,name=tracker,proto3" json:"tracker,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MonitoredRelease) Reset() {
*x = MonitoredRelease{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MonitoredRelease) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MonitoredRelease) ProtoMessage() {}
func (x *MonitoredRelease) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MonitoredRelease.ProtoReflect.Descriptor instead.
func (*MonitoredRelease) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{16}
}
func (x *MonitoredRelease) GetInfoHash() string {
if x != nil {
return x.InfoHash
}
return ""
}
func (x *MonitoredRelease) GetArtist() string {
if x != nil {
return x.Artist
}
return ""
}
func (x *MonitoredRelease) GetAlbum() string {
if x != nil {
return x.Album
}
return ""
}
func (x *MonitoredRelease) GetYear() int32 {
if x != nil {
return x.Year
}
return 0
}
func (x *MonitoredRelease) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
func (x *MonitoredRelease) GetLossless() bool {
if x != nil {
return x.Lossless
}
return false
}
func (x *MonitoredRelease) GetBitDepth() int32 {
if x != nil {
return x.BitDepth
}
return 0
}
func (x *MonitoredRelease) GetSampleRate() int32 {
if x != nil {
return x.SampleRate
}
return 0
}
func (x *MonitoredRelease) GetSource() string {
if x != nil {
return x.Source
}
return ""
}
func (x *MonitoredRelease) GetTrackCount() int32 {
if x != nil {
return x.TrackCount
}
return 0
}
func (x *MonitoredRelease) GetTrackNames() []string {
if x != nil {
return x.TrackNames
}
return nil
}
func (x *MonitoredRelease) GetHasCoverArt() bool {
if x != nil {
return x.HasCoverArt
}
return false
}
func (x *MonitoredRelease) GetHasCueSheet() bool {
if x != nil {
return x.HasCueSheet
}
return false
}
func (x *MonitoredRelease) GetHasRipLog() bool {
if x != nil {
return x.HasRipLog
}
return false
}
func (x *MonitoredRelease) GetTotalAudioSize() int64 {
if x != nil {
return x.TotalAudioSize
}
return 0
}
func (x *MonitoredRelease) GetDownloadLink() string {
if x != nil {
return x.DownloadLink
}
return ""
}
func (x *MonitoredRelease) GetSeeders() int32 {
if x != nil {
return x.Seeders
}
return 0
}
func (x *MonitoredRelease) GetTracker() string {
if x != nil {
return x.Tracker
}
return ""
}
type SearchArtistsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
Offset int32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SearchArtistsRequest) Reset() {
*x = SearchArtistsRequest{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SearchArtistsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchArtistsRequest) ProtoMessage() {}
func (x *SearchArtistsRequest) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SearchArtistsRequest.ProtoReflect.Descriptor instead.
func (*SearchArtistsRequest) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{17}
}
func (x *SearchArtistsRequest) GetQuery() string {
if x != nil {
return x.Query
}
return ""
}
func (x *SearchArtistsRequest) GetLimit() int32 {
if x != nil {
return x.Limit
}
return 0
}
func (x *SearchArtistsRequest) GetOffset() int32 {
if x != nil {
return x.Offset
}
return 0
}
type SearchArtistsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Artists []*SearchArtistResult `protobuf:"bytes,1,rep,name=artists,proto3" json:"artists,omitempty"`
Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SearchArtistsResponse) Reset() {
*x = SearchArtistsResponse{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SearchArtistsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchArtistsResponse) ProtoMessage() {}
func (x *SearchArtistsResponse) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SearchArtistsResponse.ProtoReflect.Descriptor instead.
func (*SearchArtistsResponse) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{18}
}
func (x *SearchArtistsResponse) GetArtists() []*SearchArtistResult {
if x != nil {
return x.Artists
}
return nil
}
func (x *SearchArtistsResponse) GetTotal() int32 {
if x != nil {
return x.Total
}
return 0
}
type SearchArtistResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
SortName string `protobuf:"bytes,3,opt,name=sort_name,json=sortName,proto3" json:"sort_name,omitempty"`
ArtistType string `protobuf:"bytes,4,opt,name=artist_type,json=artistType,proto3" json:"artist_type,omitempty"`
Country string `protobuf:"bytes,5,opt,name=country,proto3" json:"country,omitempty"`
FormedDate string `protobuf:"bytes,6,opt,name=formed_date,json=formedDate,proto3" json:"formed_date,omitempty"`
DisbandedDate string `protobuf:"bytes,7,opt,name=disbanded_date,json=disbandedDate,proto3" json:"disbanded_date,omitempty"`
Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
ImageUrl string `protobuf:"bytes,9,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
Genres []string `protobuf:"bytes,10,rep,name=genres,proto3" json:"genres,omitempty"`
ExternalIds []*ExternalId `protobuf:"bytes,11,rep,name=external_ids,json=externalIds,proto3" json:"external_ids,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SearchArtistResult) Reset() {
*x = SearchArtistResult{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SearchArtistResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchArtistResult) ProtoMessage() {}
func (x *SearchArtistResult) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SearchArtistResult.ProtoReflect.Descriptor instead.
func (*SearchArtistResult) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{19}
}
func (x *SearchArtistResult) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SearchArtistResult) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SearchArtistResult) GetSortName() string {
if x != nil {
return x.SortName
}
return ""
}
func (x *SearchArtistResult) GetArtistType() string {
if x != nil {
return x.ArtistType
}
return ""
}
func (x *SearchArtistResult) GetCountry() string {
if x != nil {
return x.Country
}
return ""
}
func (x *SearchArtistResult) GetFormedDate() string {
if x != nil {
return x.FormedDate
}
return ""
}
func (x *SearchArtistResult) GetDisbandedDate() string {
if x != nil {
return x.DisbandedDate
}
return ""
}
func (x *SearchArtistResult) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *SearchArtistResult) GetImageUrl() string {
if x != nil {
return x.ImageUrl
}
return ""
}
func (x *SearchArtistResult) GetGenres() []string {
if x != nil {
return x.Genres
}
return nil
}
func (x *SearchArtistResult) GetExternalIds() []*ExternalId {
if x != nil {
return x.ExternalIds
}
return nil
}
type ExternalId struct {
state protoimpl.MessageState `protogen:"open.v1"`
Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExternalId) Reset() {
*x = ExternalId{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExternalId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExternalId) ProtoMessage() {}
func (x *ExternalId) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExternalId.ProtoReflect.Descriptor instead.
func (*ExternalId) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{20}
}
func (x *ExternalId) GetProvider() string {
if x != nil {
return x.Provider
}
return ""
}
func (x *ExternalId) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type GetArtistAlbumsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
ArtistId string `protobuf:"bytes,1,opt,name=artist_id,json=artistId,proto3" json:"artist_id,omitempty"`
Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
Offset int32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetArtistAlbumsRequest) Reset() {
*x = GetArtistAlbumsRequest{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetArtistAlbumsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetArtistAlbumsRequest) ProtoMessage() {}
func (x *GetArtistAlbumsRequest) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetArtistAlbumsRequest.ProtoReflect.Descriptor instead.
func (*GetArtistAlbumsRequest) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{21}
}
func (x *GetArtistAlbumsRequest) GetArtistId() string {
if x != nil {
return x.ArtistId
}
return ""
}
func (x *GetArtistAlbumsRequest) GetLimit() int32 {
if x != nil {
return x.Limit
}
return 0
}
func (x *GetArtistAlbumsRequest) GetOffset() int32 {
if x != nil {
return x.Offset
}
return 0
}
type GetArtistAlbumsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Albums []*AlbumResult `protobuf:"bytes,1,rep,name=albums,proto3" json:"albums,omitempty"`
Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetArtistAlbumsResponse) Reset() {
*x = GetArtistAlbumsResponse{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetArtistAlbumsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetArtistAlbumsResponse) ProtoMessage() {}
func (x *GetArtistAlbumsResponse) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetArtistAlbumsResponse.ProtoReflect.Descriptor instead.
func (*GetArtistAlbumsResponse) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{22}
}
func (x *GetArtistAlbumsResponse) GetAlbums() []*AlbumResult {
if x != nil {
return x.Albums
}
return nil
}
func (x *GetArtistAlbumsResponse) GetTotal() int32 {
if x != nil {
return x.Total
}
return 0
}
type AlbumResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
AlbumType string `protobuf:"bytes,3,opt,name=album_type,json=albumType,proto3" json:"album_type,omitempty"`
ReleaseDate string `protobuf:"bytes,4,opt,name=release_date,json=releaseDate,proto3" json:"release_date,omitempty"`
Upc string `protobuf:"bytes,5,opt,name=upc,proto3" json:"upc,omitempty"`
TotalTracks int32 `protobuf:"varint,6,opt,name=total_tracks,json=totalTracks,proto3" json:"total_tracks,omitempty"`
TotalDiscs int32 `protobuf:"varint,7,opt,name=total_discs,json=totalDiscs,proto3" json:"total_discs,omitempty"`
CoverUrl string `protobuf:"bytes,8,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"`
Artists []*AlbumArtistCredit `protobuf:"bytes,9,rep,name=artists,proto3" json:"artists,omitempty"`
Label *AlbumLabel `protobuf:"bytes,10,opt,name=label,proto3" json:"label,omitempty"`
Genres []string `protobuf:"bytes,11,rep,name=genres,proto3" json:"genres,omitempty"`
ExternalIds []*ExternalId `protobuf:"bytes,12,rep,name=external_ids,json=externalIds,proto3" json:"external_ids,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AlbumResult) Reset() {
*x = AlbumResult{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AlbumResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AlbumResult) ProtoMessage() {}
func (x *AlbumResult) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AlbumResult.ProtoReflect.Descriptor instead.
func (*AlbumResult) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{23}
}
func (x *AlbumResult) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *AlbumResult) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *AlbumResult) GetAlbumType() string {
if x != nil {
return x.AlbumType
}
return ""
}
func (x *AlbumResult) GetReleaseDate() string {
if x != nil {
return x.ReleaseDate
}
return ""
}
func (x *AlbumResult) GetUpc() string {
if x != nil {
return x.Upc
}
return ""
}
func (x *AlbumResult) GetTotalTracks() int32 {
if x != nil {
return x.TotalTracks
}
return 0
}
func (x *AlbumResult) GetTotalDiscs() int32 {
if x != nil {
return x.TotalDiscs
}
return 0
}
func (x *AlbumResult) GetCoverUrl() string {
if x != nil {
return x.CoverUrl
}
return ""
}
func (x *AlbumResult) GetArtists() []*AlbumArtistCredit {
if x != nil {
return x.Artists
}
return nil
}
func (x *AlbumResult) GetLabel() *AlbumLabel {
if x != nil {
return x.Label
}
return nil
}
func (x *AlbumResult) GetGenres() []string {
if x != nil {
return x.Genres
}
return nil
}
func (x *AlbumResult) GetExternalIds() []*ExternalId {
if x != nil {
return x.ExternalIds
}
return nil
}
type AlbumArtistCredit struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AlbumArtistCredit) Reset() {
*x = AlbumArtistCredit{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AlbumArtistCredit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AlbumArtistCredit) ProtoMessage() {}
func (x *AlbumArtistCredit) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AlbumArtistCredit.ProtoReflect.Descriptor instead.
func (*AlbumArtistCredit) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{24}
}
func (x *AlbumArtistCredit) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *AlbumArtistCredit) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AlbumArtistCredit) GetRole() string {
if x != nil {
return x.Role
}
return ""
}
type AlbumLabel struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Country string `protobuf:"bytes,3,opt,name=country,proto3" json:"country,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AlbumLabel) Reset() {
*x = AlbumLabel{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AlbumLabel) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AlbumLabel) ProtoMessage() {}
func (x *AlbumLabel) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AlbumLabel.ProtoReflect.Descriptor instead.
func (*AlbumLabel) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{25}
}
func (x *AlbumLabel) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *AlbumLabel) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AlbumLabel) GetCountry() string {
if x != nil {
return x.Country
}
return ""
}
type SubscribeEventsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
SinceSeq int64 `protobuf:"varint,1,opt,name=since_seq,json=sinceSeq,proto3" json:"since_seq,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SubscribeEventsRequest) Reset() {
*x = SubscribeEventsRequest{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SubscribeEventsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubscribeEventsRequest) ProtoMessage() {}
func (x *SubscribeEventsRequest) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubscribeEventsRequest.ProtoReflect.Descriptor instead.
func (*SubscribeEventsRequest) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{26}
}
func (x *SubscribeEventsRequest) GetSinceSeq() int64 {
if x != nil {
return x.SinceSeq
}
return 0
}
type AlbumEvent struct {
state protoimpl.MessageState `protogen:"open.v1"`
Seq int64 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"`
WorkflowRunId string `protobuf:"bytes,2,opt,name=workflow_run_id,json=workflowRunId,proto3" json:"workflow_run_id,omitempty"`
AlbumId string `protobuf:"bytes,3,opt,name=album_id,json=albumId,proto3" json:"album_id,omitempty"`
Quality string `protobuf:"bytes,4,opt,name=quality,proto3" json:"quality,omitempty"`
EventType string `protobuf:"bytes,5,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
Step string `protobuf:"bytes,6,opt,name=step,proto3" json:"step,omitempty"`
Message string `protobuf:"bytes,7,opt,name=message,proto3" json:"message,omitempty"`
DataJson []byte `protobuf:"bytes,8,opt,name=data_json,json=dataJson,proto3" json:"data_json,omitempty"`
TimestampMs int64 `protobuf:"varint,9,opt,name=timestamp_ms,json=timestampMs,proto3" json:"timestamp_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AlbumEvent) Reset() {
*x = AlbumEvent{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AlbumEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AlbumEvent) ProtoMessage() {}
func (x *AlbumEvent) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AlbumEvent.ProtoReflect.Descriptor instead.
func (*AlbumEvent) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{27}
}
func (x *AlbumEvent) GetSeq() int64 {
if x != nil {
return x.Seq
}
return 0
}
func (x *AlbumEvent) GetWorkflowRunId() string {
if x != nil {
return x.WorkflowRunId
}
return ""
}
func (x *AlbumEvent) GetAlbumId() string {
if x != nil {
return x.AlbumId
}
return ""
}
func (x *AlbumEvent) GetQuality() string {
if x != nil {
return x.Quality
}
return ""
}
func (x *AlbumEvent) GetEventType() string {
if x != nil {
return x.EventType
}
return ""
}
func (x *AlbumEvent) GetStep() string {
if x != nil {
return x.Step
}
return ""
}
func (x *AlbumEvent) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *AlbumEvent) GetDataJson() []byte {
if x != nil {
return x.DataJson
}
return nil
}
func (x *AlbumEvent) GetTimestampMs() int64 {
if x != nil {
return x.TimestampMs
}
return 0
}
type MonitorAlbumStreamRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Message:
//
// *MonitorAlbumStreamRequest_Start
// *MonitorAlbumStreamRequest_Decision
// *MonitorAlbumStreamRequest_Cancel
Message isMonitorAlbumStreamRequest_Message `protobuf_oneof:"message"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MonitorAlbumStreamRequest) Reset() {
*x = MonitorAlbumStreamRequest{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MonitorAlbumStreamRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MonitorAlbumStreamRequest) ProtoMessage() {}
func (x *MonitorAlbumStreamRequest) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MonitorAlbumStreamRequest.ProtoReflect.Descriptor instead.
func (*MonitorAlbumStreamRequest) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{28}
}
func (x *MonitorAlbumStreamRequest) GetMessage() isMonitorAlbumStreamRequest_Message {
if x != nil {
return x.Message
}
return nil
}
func (x *MonitorAlbumStreamRequest) GetStart() *StartMonitorRequest {
if x != nil {
if x, ok := x.Message.(*MonitorAlbumStreamRequest_Start); ok {
return x.Start
}
}
return nil
}
func (x *MonitorAlbumStreamRequest) GetDecision() *UserDecision {
if x != nil {
if x, ok := x.Message.(*MonitorAlbumStreamRequest_Decision); ok {
return x.Decision
}
}
return nil
}
func (x *MonitorAlbumStreamRequest) GetCancel() *CancelRequest {
if x != nil {
if x, ok := x.Message.(*MonitorAlbumStreamRequest_Cancel); ok {
return x.Cancel
}
}
return nil
}
type isMonitorAlbumStreamRequest_Message interface {
isMonitorAlbumStreamRequest_Message()
}
type MonitorAlbumStreamRequest_Start struct {
Start *StartMonitorRequest `protobuf:"bytes,1,opt,name=start,proto3,oneof"`
}
type MonitorAlbumStreamRequest_Decision struct {
Decision *UserDecision `protobuf:"bytes,2,opt,name=decision,proto3,oneof"`
}
type MonitorAlbumStreamRequest_Cancel struct {
Cancel *CancelRequest `protobuf:"bytes,3,opt,name=cancel,proto3,oneof"`
}
func (*MonitorAlbumStreamRequest_Start) isMonitorAlbumStreamRequest_Message() {}
func (*MonitorAlbumStreamRequest_Decision) isMonitorAlbumStreamRequest_Message() {}
func (*MonitorAlbumStreamRequest_Cancel) isMonitorAlbumStreamRequest_Message() {}
type StartMonitorRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
AlbumId string `protobuf:"bytes,1,opt,name=album_id,json=albumId,proto3" json:"album_id,omitempty"`
IndexerOptions *IndexerOptions `protobuf:"bytes,2,opt,name=indexer_options,json=indexerOptions,proto3" json:"indexer_options,omitempty"`
Quality QualityType `protobuf:"varint,3,opt,name=quality,proto3,enum=music_agregator.v1.QualityType" json:"quality,omitempty"`
Mode InteractionMode `protobuf:"varint,4,opt,name=mode,proto3,enum=music_agregator.v1.InteractionMode" json:"mode,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *StartMonitorRequest) Reset() {
*x = StartMonitorRequest{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *StartMonitorRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartMonitorRequest) ProtoMessage() {}
func (x *StartMonitorRequest) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StartMonitorRequest.ProtoReflect.Descriptor instead.
func (*StartMonitorRequest) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{29}
}
func (x *StartMonitorRequest) GetAlbumId() string {
if x != nil {
return x.AlbumId
}
return ""
}
func (x *StartMonitorRequest) GetIndexerOptions() *IndexerOptions {
if x != nil {
return x.IndexerOptions
}
return nil
}
func (x *StartMonitorRequest) GetQuality() QualityType {
if x != nil {
return x.Quality
}
return QualityType_QUALITY_UNSPECIFIED
}
func (x *StartMonitorRequest) GetMode() InteractionMode {
if x != nil {
return x.Mode
}
return InteractionMode_INTERACTION_MODE_AUTOMATIC
}
type UserDecision struct {
state protoimpl.MessageState `protogen:"open.v1"`
PromptId string `protobuf:"bytes,1,opt,name=prompt_id,json=promptId,proto3" json:"prompt_id,omitempty"`
// Types that are valid to be assigned to Decision:
//
// *UserDecision_Confirm
// *UserDecision_SelectedId
// *UserDecision_SelectedIds
Decision isUserDecision_Decision `protobuf_oneof:"decision"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UserDecision) Reset() {
*x = UserDecision{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UserDecision) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserDecision) ProtoMessage() {}
func (x *UserDecision) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UserDecision.ProtoReflect.Descriptor instead.
func (*UserDecision) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{30}
}
func (x *UserDecision) GetPromptId() string {
if x != nil {
return x.PromptId
}
return ""
}
func (x *UserDecision) GetDecision() isUserDecision_Decision {
if x != nil {
return x.Decision
}
return nil
}
func (x *UserDecision) GetConfirm() bool {
if x != nil {
if x, ok := x.Decision.(*UserDecision_Confirm); ok {
return x.Confirm
}
}
return false
}
func (x *UserDecision) GetSelectedId() string {
if x != nil {
if x, ok := x.Decision.(*UserDecision_SelectedId); ok {
return x.SelectedId
}
}
return ""
}
func (x *UserDecision) GetSelectedIds() *SelectedIds {
if x != nil {
if x, ok := x.Decision.(*UserDecision_SelectedIds); ok {
return x.SelectedIds
}
}
return nil
}
type isUserDecision_Decision interface {
isUserDecision_Decision()
}
type UserDecision_Confirm struct {
Confirm bool `protobuf:"varint,2,opt,name=confirm,proto3,oneof"`
}
type UserDecision_SelectedId struct {
SelectedId string `protobuf:"bytes,3,opt,name=selected_id,json=selectedId,proto3,oneof"`
}
type UserDecision_SelectedIds struct {
SelectedIds *SelectedIds `protobuf:"bytes,4,opt,name=selected_ids,json=selectedIds,proto3,oneof"`
}
func (*UserDecision_Confirm) isUserDecision_Decision() {}
func (*UserDecision_SelectedId) isUserDecision_Decision() {}
func (*UserDecision_SelectedIds) isUserDecision_Decision() {}
type SelectedIds struct {
state protoimpl.MessageState `protogen:"open.v1"`
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SelectedIds) Reset() {
*x = SelectedIds{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SelectedIds) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SelectedIds) ProtoMessage() {}
func (x *SelectedIds) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SelectedIds.ProtoReflect.Descriptor instead.
func (*SelectedIds) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{31}
}
func (x *SelectedIds) GetIds() []string {
if x != nil {
return x.Ids
}
return nil
}
type CancelRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CancelRequest) Reset() {
*x = CancelRequest{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CancelRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CancelRequest) ProtoMessage() {}
func (x *CancelRequest) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CancelRequest.ProtoReflect.Descriptor instead.
func (*CancelRequest) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{32}
}
type MonitorAlbumStreamResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Message:
//
// *MonitorAlbumStreamResponse_Status
// *MonitorAlbumStreamResponse_Prompt
// *MonitorAlbumStreamResponse_Result
// *MonitorAlbumStreamResponse_Error
Message isMonitorAlbumStreamResponse_Message `protobuf_oneof:"message"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MonitorAlbumStreamResponse) Reset() {
*x = MonitorAlbumStreamResponse{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MonitorAlbumStreamResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MonitorAlbumStreamResponse) ProtoMessage() {}
func (x *MonitorAlbumStreamResponse) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MonitorAlbumStreamResponse.ProtoReflect.Descriptor instead.
func (*MonitorAlbumStreamResponse) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{33}
}
func (x *MonitorAlbumStreamResponse) GetMessage() isMonitorAlbumStreamResponse_Message {
if x != nil {
return x.Message
}
return nil
}
func (x *MonitorAlbumStreamResponse) GetStatus() *StatusUpdate {
if x != nil {
if x, ok := x.Message.(*MonitorAlbumStreamResponse_Status); ok {
return x.Status
}
}
return nil
}
func (x *MonitorAlbumStreamResponse) GetPrompt() *PromptForDecision {
if x != nil {
if x, ok := x.Message.(*MonitorAlbumStreamResponse_Prompt); ok {
return x.Prompt
}
}
return nil
}
func (x *MonitorAlbumStreamResponse) GetResult() *MonitorAlbumResponse {
if x != nil {
if x, ok := x.Message.(*MonitorAlbumStreamResponse_Result); ok {
return x.Result
}
}
return nil
}
func (x *MonitorAlbumStreamResponse) GetError() *ErrorUpdate {
if x != nil {
if x, ok := x.Message.(*MonitorAlbumStreamResponse_Error); ok {
return x.Error
}
}
return nil
}
type isMonitorAlbumStreamResponse_Message interface {
isMonitorAlbumStreamResponse_Message()
}
type MonitorAlbumStreamResponse_Status struct {
Status *StatusUpdate `protobuf:"bytes,1,opt,name=status,proto3,oneof"`
}
type MonitorAlbumStreamResponse_Prompt struct {
Prompt *PromptForDecision `protobuf:"bytes,2,opt,name=prompt,proto3,oneof"`
}
type MonitorAlbumStreamResponse_Result struct {
Result *MonitorAlbumResponse `protobuf:"bytes,3,opt,name=result,proto3,oneof"`
}
type MonitorAlbumStreamResponse_Error struct {
Error *ErrorUpdate `protobuf:"bytes,4,opt,name=error,proto3,oneof"`
}
func (*MonitorAlbumStreamResponse_Status) isMonitorAlbumStreamResponse_Message() {}
func (*MonitorAlbumStreamResponse_Prompt) isMonitorAlbumStreamResponse_Message() {}
func (*MonitorAlbumStreamResponse_Result) isMonitorAlbumStreamResponse_Message() {}
func (*MonitorAlbumStreamResponse_Error) isMonitorAlbumStreamResponse_Message() {}
type StatusUpdate struct {
state protoimpl.MessageState `protogen:"open.v1"`
Step MonitorStep `protobuf:"varint,1,opt,name=step,proto3,enum=music_agregator.v1.MonitorStep" json:"step,omitempty"`
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
// Types that are valid to be assigned to Data:
//
// *StatusUpdate_AlbumInfo
// *StatusUpdate_Torrents
// *StatusUpdate_ReleaseInfo
Data isStatusUpdate_Data `protobuf_oneof:"data"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *StatusUpdate) Reset() {
*x = StatusUpdate{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *StatusUpdate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatusUpdate) ProtoMessage() {}
func (x *StatusUpdate) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[34]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StatusUpdate.ProtoReflect.Descriptor instead.
func (*StatusUpdate) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{34}
}
func (x *StatusUpdate) GetStep() MonitorStep {
if x != nil {
return x.Step
}
return MonitorStep_MONITOR_STEP_UNSPECIFIED
}
func (x *StatusUpdate) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *StatusUpdate) GetData() isStatusUpdate_Data {
if x != nil {
return x.Data
}
return nil
}
func (x *StatusUpdate) GetAlbumInfo() *StreamAlbumInfo {
if x != nil {
if x, ok := x.Data.(*StatusUpdate_AlbumInfo); ok {
return x.AlbumInfo
}
}
return nil
}
func (x *StatusUpdate) GetTorrents() *TorrentList {
if x != nil {
if x, ok := x.Data.(*StatusUpdate_Torrents); ok {
return x.Torrents
}
}
return nil
}
func (x *StatusUpdate) GetReleaseInfo() *ReleaseInfo {
if x != nil {
if x, ok := x.Data.(*StatusUpdate_ReleaseInfo); ok {
return x.ReleaseInfo
}
}
return nil
}
type isStatusUpdate_Data interface {
isStatusUpdate_Data()
}
type StatusUpdate_AlbumInfo struct {
AlbumInfo *StreamAlbumInfo `protobuf:"bytes,10,opt,name=album_info,json=albumInfo,proto3,oneof"`
}
type StatusUpdate_Torrents struct {
Torrents *TorrentList `protobuf:"bytes,11,opt,name=torrents,proto3,oneof"`
}
type StatusUpdate_ReleaseInfo struct {
ReleaseInfo *ReleaseInfo `protobuf:"bytes,12,opt,name=release_info,json=releaseInfo,proto3,oneof"`
}
func (*StatusUpdate_AlbumInfo) isStatusUpdate_Data() {}
func (*StatusUpdate_Torrents) isStatusUpdate_Data() {}
func (*StatusUpdate_ReleaseInfo) isStatusUpdate_Data() {}
type PromptForDecision struct {
state protoimpl.MessageState `protogen:"open.v1"`
PromptId string `protobuf:"bytes,1,opt,name=prompt_id,json=promptId,proto3" json:"prompt_id,omitempty"`
Type PromptType `protobuf:"varint,2,opt,name=type,proto3,enum=music_agregator.v1.PromptType" json:"type,omitempty"`
Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
TimeoutSeconds int32 `protobuf:"varint,4,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
// Types that are valid to be assigned to Options:
//
// *PromptForDecision_Confirm
// *PromptForDecision_SelectOne
// *PromptForDecision_SelectMany
Options isPromptForDecision_Options `protobuf_oneof:"options"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PromptForDecision) Reset() {
*x = PromptForDecision{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PromptForDecision) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PromptForDecision) ProtoMessage() {}
func (x *PromptForDecision) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PromptForDecision.ProtoReflect.Descriptor instead.
func (*PromptForDecision) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{35}
}
func (x *PromptForDecision) GetPromptId() string {
if x != nil {
return x.PromptId
}
return ""
}
func (x *PromptForDecision) GetType() PromptType {
if x != nil {
return x.Type
}
return PromptType_PROMPT_TYPE_UNSPECIFIED
}
func (x *PromptForDecision) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *PromptForDecision) GetTimeoutSeconds() int32 {
if x != nil {
return x.TimeoutSeconds
}
return 0
}
func (x *PromptForDecision) GetOptions() isPromptForDecision_Options {
if x != nil {
return x.Options
}
return nil
}
func (x *PromptForDecision) GetConfirm() *ConfirmPrompt {
if x != nil {
if x, ok := x.Options.(*PromptForDecision_Confirm); ok {
return x.Confirm
}
}
return nil
}
func (x *PromptForDecision) GetSelectOne() *SelectOnePrompt {
if x != nil {
if x, ok := x.Options.(*PromptForDecision_SelectOne); ok {
return x.SelectOne
}
}
return nil
}
func (x *PromptForDecision) GetSelectMany() *SelectManyPrompt {
if x != nil {
if x, ok := x.Options.(*PromptForDecision_SelectMany); ok {
return x.SelectMany
}
}
return nil
}
type isPromptForDecision_Options interface {
isPromptForDecision_Options()
}
type PromptForDecision_Confirm struct {
Confirm *ConfirmPrompt `protobuf:"bytes,10,opt,name=confirm,proto3,oneof"`
}
type PromptForDecision_SelectOne struct {
SelectOne *SelectOnePrompt `protobuf:"bytes,11,opt,name=select_one,json=selectOne,proto3,oneof"`
}
type PromptForDecision_SelectMany struct {
SelectMany *SelectManyPrompt `protobuf:"bytes,12,opt,name=select_many,json=selectMany,proto3,oneof"`
}
func (*PromptForDecision_Confirm) isPromptForDecision_Options() {}
func (*PromptForDecision_SelectOne) isPromptForDecision_Options() {}
func (*PromptForDecision_SelectMany) isPromptForDecision_Options() {}
type ErrorUpdate struct {
state protoimpl.MessageState `protogen:"open.v1"`
FailedStep MonitorStep `protobuf:"varint,1,opt,name=failed_step,json=failedStep,proto3,enum=music_agregator.v1.MonitorStep" json:"failed_step,omitempty"`
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
Recoverable bool `protobuf:"varint,3,opt,name=recoverable,proto3" json:"recoverable,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ErrorUpdate) Reset() {
*x = ErrorUpdate{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ErrorUpdate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ErrorUpdate) ProtoMessage() {}
func (x *ErrorUpdate) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[36]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ErrorUpdate.ProtoReflect.Descriptor instead.
func (*ErrorUpdate) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{36}
}
func (x *ErrorUpdate) GetFailedStep() MonitorStep {
if x != nil {
return x.FailedStep
}
return MonitorStep_MONITOR_STEP_UNSPECIFIED
}
func (x *ErrorUpdate) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *ErrorUpdate) GetRecoverable() bool {
if x != nil {
return x.Recoverable
}
return false
}
type StreamAlbumInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Artist string `protobuf:"bytes,1,opt,name=artist,proto3" json:"artist,omitempty"`
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
ReleaseDate string `protobuf:"bytes,3,opt,name=release_date,json=releaseDate,proto3" json:"release_date,omitempty"`
AlreadyOwned bool `protobuf:"varint,4,opt,name=already_owned,json=alreadyOwned,proto3" json:"already_owned,omitempty"`
OwnedQuality string `protobuf:"bytes,5,opt,name=owned_quality,json=ownedQuality,proto3" json:"owned_quality,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *StreamAlbumInfo) Reset() {
*x = StreamAlbumInfo{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *StreamAlbumInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StreamAlbumInfo) ProtoMessage() {}
func (x *StreamAlbumInfo) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[37]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StreamAlbumInfo.ProtoReflect.Descriptor instead.
func (*StreamAlbumInfo) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{37}
}
func (x *StreamAlbumInfo) GetArtist() string {
if x != nil {
return x.Artist
}
return ""
}
func (x *StreamAlbumInfo) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *StreamAlbumInfo) GetReleaseDate() string {
if x != nil {
return x.ReleaseDate
}
return ""
}
func (x *StreamAlbumInfo) GetAlreadyOwned() bool {
if x != nil {
return x.AlreadyOwned
}
return false
}
func (x *StreamAlbumInfo) GetOwnedQuality() string {
if x != nil {
return x.OwnedQuality
}
return ""
}
type TorrentList struct {
state protoimpl.MessageState `protogen:"open.v1"`
Torrents []*TorrentSummary `protobuf:"bytes,1,rep,name=torrents,proto3" json:"torrents,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TorrentList) Reset() {
*x = TorrentList{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TorrentList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TorrentList) ProtoMessage() {}
func (x *TorrentList) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[38]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TorrentList.ProtoReflect.Descriptor instead.
func (*TorrentList) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{38}
}
func (x *TorrentList) GetTorrents() []*TorrentSummary {
if x != nil {
return x.Torrents
}
return nil
}
type TorrentSummary struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
Tracker string `protobuf:"bytes,3,opt,name=tracker,proto3" json:"tracker,omitempty"`
Seeders int32 `protobuf:"varint,4,opt,name=seeders,proto3" json:"seeders,omitempty"`
Format string `protobuf:"bytes,5,opt,name=format,proto3" json:"format,omitempty"`
Lossless bool `protobuf:"varint,6,opt,name=lossless,proto3" json:"lossless,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TorrentSummary) Reset() {
*x = TorrentSummary{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TorrentSummary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TorrentSummary) ProtoMessage() {}
func (x *TorrentSummary) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TorrentSummary.ProtoReflect.Descriptor instead.
func (*TorrentSummary) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{39}
}
func (x *TorrentSummary) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *TorrentSummary) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *TorrentSummary) GetTracker() string {
if x != nil {
return x.Tracker
}
return ""
}
func (x *TorrentSummary) GetSeeders() int32 {
if x != nil {
return x.Seeders
}
return 0
}
func (x *TorrentSummary) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
func (x *TorrentSummary) GetLossless() bool {
if x != nil {
return x.Lossless
}
return false
}
type ReleaseInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
InfoHash string `protobuf:"bytes,1,opt,name=info_hash,json=infoHash,proto3" json:"info_hash,omitempty"`
Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"`
BitDepth int32 `protobuf:"varint,3,opt,name=bit_depth,json=bitDepth,proto3" json:"bit_depth,omitempty"`
SampleRate int32 `protobuf:"varint,4,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"`
Seeders int32 `protobuf:"varint,5,opt,name=seeders,proto3" json:"seeders,omitempty"`
Tracker string `protobuf:"bytes,6,opt,name=tracker,proto3" json:"tracker,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ReleaseInfo) Reset() {
*x = ReleaseInfo{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ReleaseInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReleaseInfo) ProtoMessage() {}
func (x *ReleaseInfo) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[40]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReleaseInfo.ProtoReflect.Descriptor instead.
func (*ReleaseInfo) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{40}
}
func (x *ReleaseInfo) GetInfoHash() string {
if x != nil {
return x.InfoHash
}
return ""
}
func (x *ReleaseInfo) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
func (x *ReleaseInfo) GetBitDepth() int32 {
if x != nil {
return x.BitDepth
}
return 0
}
func (x *ReleaseInfo) GetSampleRate() int32 {
if x != nil {
return x.SampleRate
}
return 0
}
func (x *ReleaseInfo) GetSeeders() int32 {
if x != nil {
return x.Seeders
}
return 0
}
func (x *ReleaseInfo) GetTracker() string {
if x != nil {
return x.Tracker
}
return ""
}
type ConfirmPrompt struct {
state protoimpl.MessageState `protogen:"open.v1"`
ConfirmLabel string `protobuf:"bytes,1,opt,name=confirm_label,json=confirmLabel,proto3" json:"confirm_label,omitempty"`
CancelLabel string `protobuf:"bytes,2,opt,name=cancel_label,json=cancelLabel,proto3" json:"cancel_label,omitempty"`
DefaultValue bool `protobuf:"varint,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ConfirmPrompt) Reset() {
*x = ConfirmPrompt{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ConfirmPrompt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConfirmPrompt) ProtoMessage() {}
func (x *ConfirmPrompt) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[41]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ConfirmPrompt.ProtoReflect.Descriptor instead.
func (*ConfirmPrompt) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{41}
}
func (x *ConfirmPrompt) GetConfirmLabel() string {
if x != nil {
return x.ConfirmLabel
}
return ""
}
func (x *ConfirmPrompt) GetCancelLabel() string {
if x != nil {
return x.CancelLabel
}
return ""
}
func (x *ConfirmPrompt) GetDefaultValue() bool {
if x != nil {
return x.DefaultValue
}
return false
}
type SelectOnePrompt struct {
state protoimpl.MessageState `protogen:"open.v1"`
Options []*SelectOption `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"`
DefaultId string `protobuf:"bytes,2,opt,name=default_id,json=defaultId,proto3" json:"default_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SelectOnePrompt) Reset() {
*x = SelectOnePrompt{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SelectOnePrompt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SelectOnePrompt) ProtoMessage() {}
func (x *SelectOnePrompt) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[42]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SelectOnePrompt.ProtoReflect.Descriptor instead.
func (*SelectOnePrompt) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{42}
}
func (x *SelectOnePrompt) GetOptions() []*SelectOption {
if x != nil {
return x.Options
}
return nil
}
func (x *SelectOnePrompt) GetDefaultId() string {
if x != nil {
return x.DefaultId
}
return ""
}
type SelectManyPrompt struct {
state protoimpl.MessageState `protogen:"open.v1"`
Options []*SelectOption `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"`
DefaultIds []string `protobuf:"bytes,2,rep,name=default_ids,json=defaultIds,proto3" json:"default_ids,omitempty"`
MinSelections int32 `protobuf:"varint,3,opt,name=min_selections,json=minSelections,proto3" json:"min_selections,omitempty"`
MaxSelections int32 `protobuf:"varint,4,opt,name=max_selections,json=maxSelections,proto3" json:"max_selections,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SelectManyPrompt) Reset() {
*x = SelectManyPrompt{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SelectManyPrompt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SelectManyPrompt) ProtoMessage() {}
func (x *SelectManyPrompt) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[43]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SelectManyPrompt.ProtoReflect.Descriptor instead.
func (*SelectManyPrompt) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{43}
}
func (x *SelectManyPrompt) GetOptions() []*SelectOption {
if x != nil {
return x.Options
}
return nil
}
func (x *SelectManyPrompt) GetDefaultIds() []string {
if x != nil {
return x.DefaultIds
}
return nil
}
func (x *SelectManyPrompt) GetMinSelections() int32 {
if x != nil {
return x.MinSelections
}
return 0
}
func (x *SelectManyPrompt) GetMaxSelections() int32 {
if x != nil {
return x.MaxSelections
}
return 0
}
type SelectOption struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SelectOption) Reset() {
*x = SelectOption{}
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SelectOption) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SelectOption) ProtoMessage() {}
func (x *SelectOption) ProtoReflect() protoreflect.Message {
mi := &file_music_agregator_v1_music_agregator_proto_msgTypes[44]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SelectOption.ProtoReflect.Descriptor instead.
func (*SelectOption) Descriptor() ([]byte, []int) {
return file_music_agregator_v1_music_agregator_proto_rawDescGZIP(), []int{44}
}
func (x *SelectOption) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SelectOption) GetLabel() string {
if x != nil {
return x.Label
}
return ""
}
func (x *SelectOption) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
var File_music_agregator_v1_music_agregator_proto protoreflect.FileDescriptor
const file_music_agregator_v1_music_agregator_proto_rawDesc = "" +
"\n" +
"(music_agregator/v1/music_agregator.proto\x12\x12music_agregator.v1\"\xb8\x01\n" +
"\x13MonitorAlbumRequest\x12\x19\n" +
"\balbum_id\x18\x01 \x01(\tR\aalbumId\x12K\n" +
"\x0findexer_options\x18\x02 \x01(\v2\".music_agregator.v1.IndexerOptionsR\x0eindexerOptions\x129\n" +
"\aquality\x18\x03 \x01(\x0e2\x1f.music_agregator.v1.QualityTypeR\aquality\"*\n" +
"\x0eIndexerOptions\x12\x18\n" +
"\atracker\x18\x01 \x01(\tR\atracker\"\xc8\x01\n" +
"\x14MonitorAlbumResponse\x125\n" +
"\x05album\x18\x01 \x01(\v2\x1f.music_agregator.v1.AlbumDetailR\x05album\x129\n" +
"\x06artist\x18\x02 \x01(\v2!.music_agregator.v1.ArtistSummaryR\x06artist\x12>\n" +
"\arelease\x18\x03 \x01(\v2$.music_agregator.v1.MonitoredReleaseR\arelease\"\x13\n" +
"\x11GetArtistsRequest\"Q\n" +
"\x12GetArtistsResponse\x12;\n" +
"\aartists\x18\x01 \x03(\v2!.music_agregator.v1.ArtistSummaryR\aartists\"\xc4\x02\n" +
"\rArtistSummary\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" +
"\vexternal_id\x18\x02 \x01(\tR\n" +
"externalId\x12\x12\n" +
"\x04name\x18\x03 \x01(\tR\x04name\x12\x1f\n" +
"\vartist_type\x18\x04 \x01(\tR\n" +
"artistType\x12\x18\n" +
"\acountry\x18\x05 \x01(\tR\acountry\x12\x16\n" +
"\x06genres\x18\x06 \x03(\tR\x06genres\x12\x1b\n" +
"\timage_url\x18\a \x01(\tR\bimageUrl\x12E\n" +
"\rmonitor_state\x18\b \x01(\x0e2 .music_agregator.v1.MonitorStateR\fmonitorState\x127\n" +
"\x06albums\x18\t \x03(\v2\x1f.music_agregator.v1.AlbumDetailR\x06albums\"\xee\x03\n" +
"\vAlbumDetail\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" +
"\vexternal_id\x18\x02 \x01(\tR\n" +
"externalId\x12\x14\n" +
"\x05title\x18\x03 \x01(\tR\x05title\x12\x1d\n" +
"\n" +
"album_type\x18\x04 \x01(\tR\talbumType\x12!\n" +
"\frelease_date\x18\x05 \x01(\tR\vreleaseDate\x12!\n" +
"\ftotal_tracks\x18\x06 \x01(\x05R\vtotalTracks\x12\x1f\n" +
"\vtotal_discs\x18\a \x01(\x05R\n" +
"totalDiscs\x12\x1b\n" +
"\tcover_url\x18\b \x01(\tR\bcoverUrl\x12\x16\n" +
"\x06genres\x18\t \x03(\tR\x06genres\x12\x14\n" +
"\x05label\x18\n" +
" \x01(\tR\x05label\x12E\n" +
"\rmonitor_state\x18\v \x01(\x0e2 .music_agregator.v1.MonitorStateR\fmonitorState\x12>\n" +
"\tdownloads\x18\f \x03(\v2 .music_agregator.v1.DownloadInfoR\tdownloads\x12@\n" +
"\arelease\x18\r \x01(\v2&.music_agregator.v1.AlbumReleaseDetailR\arelease\"s\n" +
"\fDownloadInfo\x12\x14\n" +
"\x05state\x18\x01 \x01(\tR\x05state\x12\x16\n" +
"\x06format\x18\x02 \x01(\tR\x06format\x12\x18\n" +
"\aquality\x18\x03 \x01(\tR\aquality\x12\x1b\n" +
"\tsave_path\x18\x04 \x01(\tR\bsavePath\",\n" +
"\x0fGetAlbumRequest\x12\x19\n" +
"\balbum_id\x18\x01 \x01(\tR\aalbumId\"{\n" +
"\tAlbumInfo\x125\n" +
"\x05album\x18\x01 \x01(\v2\x1f.music_agregator.v1.AlbumDetailR\x05album\x127\n" +
"\x06tracks\x18\x02 \x03(\v2\x1f.music_agregator.v1.TrackDetailR\x06tracks\"E\n" +
"\x10GetAlbumResponse\x121\n" +
"\x04info\x18\x01 \x01(\v2\x1d.music_agregator.v1.AlbumInfoR\x04info\"7\n" +
"\x1aAnalyzeAlbumReleaseRequest\x12\x19\n" +
"\balbum_id\x18\x01 \x01(\tR\aalbumId\"P\n" +
"\x1bAnalyzeAlbumReleaseResponse\x121\n" +
"\x04info\x18\x01 \x01(\v2\x1d.music_agregator.v1.AlbumInfoR\x04info\"\xf4\x03\n" +
"\vTrackDetail\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" +
"\vexternal_id\x18\x02 \x01(\tR\n" +
"externalId\x12\x14\n" +
"\x05title\x18\x03 \x01(\tR\x05title\x12\x1f\n" +
"\vduration_ms\x18\x04 \x01(\x05R\n" +
"durationMs\x12\x1f\n" +
"\vdisc_number\x18\x05 \x01(\x05R\n" +
"discNumber\x12!\n" +
"\ftrack_number\x18\x06 \x01(\x05R\vtrackNumber\x12\x12\n" +
"\x04isrc\x18\a \x01(\tR\x04isrc\x12\x1a\n" +
"\bexplicit\x18\b \x01(\bR\bexplicit\x12:\n" +
"\aartists\x18\t \x03(\v2 .music_agregator.v1.ArtistCreditR\aartists\x12\x1b\n" +
"\tfile_path\x18\n" +
" \x01(\tR\bfilePath\x12\x1b\n" +
"\tfile_size\x18\v \x01(\x03R\bfileSize\x12\x16\n" +
"\x06format\x18\f \x01(\tR\x06format\x12\x1b\n" +
"\tbit_depth\x18\r \x01(\x05R\bbitDepth\x12\x1f\n" +
"\vsample_rate\x18\x0e \x01(\x05R\n" +
"sampleRate\x12\x1a\n" +
"\bchannels\x18\x0f \x01(\x05R\bchannels\x12!\n" +
"\fbitrate_kbps\x18\x10 \x01(\x05R\vbitrateKbps\"2\n" +
"\fArtistCredit\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\"\xb7\x03\n" +
"\x12AlbumReleaseDetail\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" +
"\x06format\x18\x02 \x01(\tR\x06format\x12\x1b\n" +
"\tbit_depth\x18\x03 \x01(\x05R\bbitDepth\x12\x1f\n" +
"\vsample_rate\x18\x04 \x01(\x05R\n" +
"sampleRate\x12\x1a\n" +
"\bchannels\x18\x05 \x01(\x05R\bchannels\x12\x1f\n" +
"\vis_lossless\x18\x06 \x01(\bR\n" +
"isLossless\x12\x16\n" +
"\x06source\x18\a \x01(\tR\x06source\x12\x1d\n" +
"\n" +
"total_size\x18\b \x01(\x03R\ttotalSize\x12*\n" +
"\x11total_duration_ms\x18\t \x01(\x05R\x0ftotalDurationMs\x12\x1f\n" +
"\vtrack_count\x18\n" +
" \x01(\x05R\n" +
"trackCount\x12\"\n" +
"\rhas_cover_art\x18\v \x01(\bR\vhasCoverArt\x12\"\n" +
"\rhas_cue_sheet\x18\f \x01(\bR\vhasCueSheet\x12\x1e\n" +
"\vhas_rip_log\x18\r \x01(\bR\thasRipLog\x12\x12\n" +
"\x04path\x18\x0e \x01(\tR\x04path\"\xa8\x04\n" +
"\x10MonitoredRelease\x12\x1b\n" +
"\tinfo_hash\x18\x01 \x01(\tR\binfoHash\x12\x16\n" +
"\x06artist\x18\x02 \x01(\tR\x06artist\x12\x14\n" +
"\x05album\x18\x03 \x01(\tR\x05album\x12\x12\n" +
"\x04year\x18\x04 \x01(\x05R\x04year\x12\x16\n" +
"\x06format\x18\x05 \x01(\tR\x06format\x12\x1a\n" +
"\blossless\x18\x06 \x01(\bR\blossless\x12\x1b\n" +
"\tbit_depth\x18\a \x01(\x05R\bbitDepth\x12\x1f\n" +
"\vsample_rate\x18\b \x01(\x05R\n" +
"sampleRate\x12\x16\n" +
"\x06source\x18\t \x01(\tR\x06source\x12\x1f\n" +
"\vtrack_count\x18\n" +
" \x01(\x05R\n" +
"trackCount\x12\x1f\n" +
"\vtrack_names\x18\v \x03(\tR\n" +
"trackNames\x12\"\n" +
"\rhas_cover_art\x18\f \x01(\bR\vhasCoverArt\x12\"\n" +
"\rhas_cue_sheet\x18\r \x01(\bR\vhasCueSheet\x12\x1e\n" +
"\vhas_rip_log\x18\x0e \x01(\bR\thasRipLog\x12(\n" +
"\x10total_audio_size\x18\x0f \x01(\x03R\x0etotalAudioSize\x12#\n" +
"\rdownload_link\x18\x10 \x01(\tR\fdownloadLink\x12\x18\n" +
"\aseeders\x18\x11 \x01(\x05R\aseeders\x12\x18\n" +
"\atracker\x18\x12 \x01(\tR\atracker\"Z\n" +
"\x14SearchArtistsRequest\x12\x14\n" +
"\x05query\x18\x01 \x01(\tR\x05query\x12\x14\n" +
"\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n" +
"\x06offset\x18\x03 \x01(\x05R\x06offset\"o\n" +
"\x15SearchArtistsResponse\x12@\n" +
"\aartists\x18\x01 \x03(\v2&.music_agregator.v1.SearchArtistResultR\aartists\x12\x14\n" +
"\x05total\x18\x02 \x01(\x05R\x05total\"\xf2\x02\n" +
"\x12SearchArtistResult\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x1b\n" +
"\tsort_name\x18\x03 \x01(\tR\bsortName\x12\x1f\n" +
"\vartist_type\x18\x04 \x01(\tR\n" +
"artistType\x12\x18\n" +
"\acountry\x18\x05 \x01(\tR\acountry\x12\x1f\n" +
"\vformed_date\x18\x06 \x01(\tR\n" +
"formedDate\x12%\n" +
"\x0edisbanded_date\x18\a \x01(\tR\rdisbandedDate\x12 \n" +
"\vdescription\x18\b \x01(\tR\vdescription\x12\x1b\n" +
"\timage_url\x18\t \x01(\tR\bimageUrl\x12\x16\n" +
"\x06genres\x18\n" +
" \x03(\tR\x06genres\x12A\n" +
"\fexternal_ids\x18\v \x03(\v2\x1e.music_agregator.v1.ExternalIdR\vexternalIds\"8\n" +
"\n" +
"ExternalId\x12\x1a\n" +
"\bprovider\x18\x01 \x01(\tR\bprovider\x12\x0e\n" +
"\x02id\x18\x02 \x01(\tR\x02id\"c\n" +
"\x16GetArtistAlbumsRequest\x12\x1b\n" +
"\tartist_id\x18\x01 \x01(\tR\bartistId\x12\x14\n" +
"\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n" +
"\x06offset\x18\x03 \x01(\x05R\x06offset\"h\n" +
"\x17GetArtistAlbumsResponse\x127\n" +
"\x06albums\x18\x01 \x03(\v2\x1f.music_agregator.v1.AlbumResultR\x06albums\x12\x14\n" +
"\x05total\x18\x02 \x01(\x05R\x05total\"\xba\x03\n" +
"\vAlbumResult\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
"\x05title\x18\x02 \x01(\tR\x05title\x12\x1d\n" +
"\n" +
"album_type\x18\x03 \x01(\tR\talbumType\x12!\n" +
"\frelease_date\x18\x04 \x01(\tR\vreleaseDate\x12\x10\n" +
"\x03upc\x18\x05 \x01(\tR\x03upc\x12!\n" +
"\ftotal_tracks\x18\x06 \x01(\x05R\vtotalTracks\x12\x1f\n" +
"\vtotal_discs\x18\a \x01(\x05R\n" +
"totalDiscs\x12\x1b\n" +
"\tcover_url\x18\b \x01(\tR\bcoverUrl\x12?\n" +
"\aartists\x18\t \x03(\v2%.music_agregator.v1.AlbumArtistCreditR\aartists\x124\n" +
"\x05label\x18\n" +
" \x01(\v2\x1e.music_agregator.v1.AlbumLabelR\x05label\x12\x16\n" +
"\x06genres\x18\v \x03(\tR\x06genres\x12A\n" +
"\fexternal_ids\x18\f \x03(\v2\x1e.music_agregator.v1.ExternalIdR\vexternalIds\"K\n" +
"\x11AlbumArtistCredit\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
"\x04role\x18\x03 \x01(\tR\x04role\"J\n" +
"\n" +
"AlbumLabel\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" +
"\acountry\x18\x03 \x01(\tR\acountry\"5\n" +
"\x16SubscribeEventsRequest\x12\x1b\n" +
"\tsince_seq\x18\x01 \x01(\x03R\bsinceSeq\"\x88\x02\n" +
"\n" +
"AlbumEvent\x12\x10\n" +
"\x03seq\x18\x01 \x01(\x03R\x03seq\x12&\n" +
"\x0fworkflow_run_id\x18\x02 \x01(\tR\rworkflowRunId\x12\x19\n" +
"\balbum_id\x18\x03 \x01(\tR\aalbumId\x12\x18\n" +
"\aquality\x18\x04 \x01(\tR\aquality\x12\x1d\n" +
"\n" +
"event_type\x18\x05 \x01(\tR\teventType\x12\x12\n" +
"\x04step\x18\x06 \x01(\tR\x04step\x12\x18\n" +
"\amessage\x18\a \x01(\tR\amessage\x12\x1b\n" +
"\tdata_json\x18\b \x01(\fR\bdataJson\x12!\n" +
"\ftimestamp_ms\x18\t \x01(\x03R\vtimestampMs\"\xe4\x01\n" +
"\x19MonitorAlbumStreamRequest\x12?\n" +
"\x05start\x18\x01 \x01(\v2'.music_agregator.v1.StartMonitorRequestH\x00R\x05start\x12>\n" +
"\bdecision\x18\x02 \x01(\v2 .music_agregator.v1.UserDecisionH\x00R\bdecision\x12;\n" +
"\x06cancel\x18\x03 \x01(\v2!.music_agregator.v1.CancelRequestH\x00R\x06cancelB\t\n" +
"\amessage\"\xf1\x01\n" +
"\x13StartMonitorRequest\x12\x19\n" +
"\balbum_id\x18\x01 \x01(\tR\aalbumId\x12K\n" +
"\x0findexer_options\x18\x02 \x01(\v2\".music_agregator.v1.IndexerOptionsR\x0eindexerOptions\x129\n" +
"\aquality\x18\x03 \x01(\x0e2\x1f.music_agregator.v1.QualityTypeR\aquality\x127\n" +
"\x04mode\x18\x04 \x01(\x0e2#.music_agregator.v1.InteractionModeR\x04mode\"\xbc\x01\n" +
"\fUserDecision\x12\x1b\n" +
"\tprompt_id\x18\x01 \x01(\tR\bpromptId\x12\x1a\n" +
"\aconfirm\x18\x02 \x01(\bH\x00R\aconfirm\x12!\n" +
"\vselected_id\x18\x03 \x01(\tH\x00R\n" +
"selectedId\x12D\n" +
"\fselected_ids\x18\x04 \x01(\v2\x1f.music_agregator.v1.SelectedIdsH\x00R\vselectedIdsB\n" +
"\n" +
"\bdecision\"\x1f\n" +
"\vSelectedIds\x12\x10\n" +
"\x03ids\x18\x01 \x03(\tR\x03ids\"\x0f\n" +
"\rCancelRequest\"\xa1\x02\n" +
"\x1aMonitorAlbumStreamResponse\x12:\n" +
"\x06status\x18\x01 \x01(\v2 .music_agregator.v1.StatusUpdateH\x00R\x06status\x12?\n" +
"\x06prompt\x18\x02 \x01(\v2%.music_agregator.v1.PromptForDecisionH\x00R\x06prompt\x12B\n" +
"\x06result\x18\x03 \x01(\v2(.music_agregator.v1.MonitorAlbumResponseH\x00R\x06result\x127\n" +
"\x05error\x18\x04 \x01(\v2\x1f.music_agregator.v1.ErrorUpdateH\x00R\x05errorB\t\n" +
"\amessage\"\xb0\x02\n" +
"\fStatusUpdate\x123\n" +
"\x04step\x18\x01 \x01(\x0e2\x1f.music_agregator.v1.MonitorStepR\x04step\x12\x18\n" +
"\amessage\x18\x02 \x01(\tR\amessage\x12D\n" +
"\n" +
"album_info\x18\n" +
" \x01(\v2#.music_agregator.v1.StreamAlbumInfoH\x00R\talbumInfo\x12=\n" +
"\btorrents\x18\v \x01(\v2\x1f.music_agregator.v1.TorrentListH\x00R\btorrents\x12D\n" +
"\frelease_info\x18\f \x01(\v2\x1f.music_agregator.v1.ReleaseInfoH\x00R\vreleaseInfoB\x06\n" +
"\x04data\"\x80\x03\n" +
"\x11PromptForDecision\x12\x1b\n" +
"\tprompt_id\x18\x01 \x01(\tR\bpromptId\x122\n" +
"\x04type\x18\x02 \x01(\x0e2\x1e.music_agregator.v1.PromptTypeR\x04type\x12\x18\n" +
"\amessage\x18\x03 \x01(\tR\amessage\x12'\n" +
"\x0ftimeout_seconds\x18\x04 \x01(\x05R\x0etimeoutSeconds\x12=\n" +
"\aconfirm\x18\n" +
" \x01(\v2!.music_agregator.v1.ConfirmPromptH\x00R\aconfirm\x12D\n" +
"\n" +
"select_one\x18\v \x01(\v2#.music_agregator.v1.SelectOnePromptH\x00R\tselectOne\x12G\n" +
"\vselect_many\x18\f \x01(\v2$.music_agregator.v1.SelectManyPromptH\x00R\n" +
"selectManyB\t\n" +
"\aoptions\"\x8b\x01\n" +
"\vErrorUpdate\x12@\n" +
"\vfailed_step\x18\x01 \x01(\x0e2\x1f.music_agregator.v1.MonitorStepR\n" +
"failedStep\x12\x18\n" +
"\amessage\x18\x02 \x01(\tR\amessage\x12 \n" +
"\vrecoverable\x18\x03 \x01(\bR\vrecoverable\"\xac\x01\n" +
"\x0fStreamAlbumInfo\x12\x16\n" +
"\x06artist\x18\x01 \x01(\tR\x06artist\x12\x14\n" +
"\x05title\x18\x02 \x01(\tR\x05title\x12!\n" +
"\frelease_date\x18\x03 \x01(\tR\vreleaseDate\x12#\n" +
"\ralready_owned\x18\x04 \x01(\bR\falreadyOwned\x12#\n" +
"\rowned_quality\x18\x05 \x01(\tR\fownedQuality\"M\n" +
"\vTorrentList\x12>\n" +
"\btorrents\x18\x01 \x03(\v2\".music_agregator.v1.TorrentSummaryR\btorrents\"\x9e\x01\n" +
"\x0eTorrentSummary\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
"\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" +
"\atracker\x18\x03 \x01(\tR\atracker\x12\x18\n" +
"\aseeders\x18\x04 \x01(\x05R\aseeders\x12\x16\n" +
"\x06format\x18\x05 \x01(\tR\x06format\x12\x1a\n" +
"\blossless\x18\x06 \x01(\bR\blossless\"\xb4\x01\n" +
"\vReleaseInfo\x12\x1b\n" +
"\tinfo_hash\x18\x01 \x01(\tR\binfoHash\x12\x16\n" +
"\x06format\x18\x02 \x01(\tR\x06format\x12\x1b\n" +
"\tbit_depth\x18\x03 \x01(\x05R\bbitDepth\x12\x1f\n" +
"\vsample_rate\x18\x04 \x01(\x05R\n" +
"sampleRate\x12\x18\n" +
"\aseeders\x18\x05 \x01(\x05R\aseeders\x12\x18\n" +
"\atracker\x18\x06 \x01(\tR\atracker\"|\n" +
"\rConfirmPrompt\x12#\n" +
"\rconfirm_label\x18\x01 \x01(\tR\fconfirmLabel\x12!\n" +
"\fcancel_label\x18\x02 \x01(\tR\vcancelLabel\x12#\n" +
"\rdefault_value\x18\x03 \x01(\bR\fdefaultValue\"l\n" +
"\x0fSelectOnePrompt\x12:\n" +
"\aoptions\x18\x01 \x03(\v2 .music_agregator.v1.SelectOptionR\aoptions\x12\x1d\n" +
"\n" +
"default_id\x18\x02 \x01(\tR\tdefaultId\"\xbd\x01\n" +
"\x10SelectManyPrompt\x12:\n" +
"\aoptions\x18\x01 \x03(\v2 .music_agregator.v1.SelectOptionR\aoptions\x12\x1f\n" +
"\vdefault_ids\x18\x02 \x03(\tR\n" +
"defaultIds\x12%\n" +
"\x0emin_selections\x18\x03 \x01(\x05R\rminSelections\x12%\n" +
"\x0emax_selections\x18\x04 \x01(\x05R\rmaxSelections\"V\n" +
"\fSelectOption\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
"\x05label\x18\x02 \x01(\tR\x05label\x12 \n" +
"\vdescription\x18\x03 \x01(\tR\vdescription*O\n" +
"\vQualityType\x12\x17\n" +
"\x13QUALITY_UNSPECIFIED\x10\x00\x12\x14\n" +
"\x10QUALITY_LOSSLESS\x10\x01\x12\x11\n" +
"\rQUALITY_LOSSY\x10\x02*\x85\x01\n" +
"\fMonitorState\x12\x1d\n" +
"\x19MONITOR_STATE_UNSPECIFIED\x10\x00\x12\x1b\n" +
"\x17MONITOR_STATE_MONITORED\x10\x01\x12\x1d\n" +
"\x19MONITOR_STATE_UNMONITORED\x10\x02\x12\x1a\n" +
"\x16MONITOR_STATE_EXCLUDED\x10\x03*N\n" +
"\x0fInteractionMode\x12\x1e\n" +
"\x1aINTERACTION_MODE_AUTOMATIC\x10\x00\x12\x1b\n" +
"\x17INTERACTION_MODE_MANUAL\x10\x01*\xd3\x02\n" +
"\vMonitorStep\x12\x1c\n" +
"\x18MONITOR_STEP_UNSPECIFIED\x10\x00\x12\"\n" +
"\x1eMONITOR_STEP_FETCHING_METADATA\x10\x01\x12\x1f\n" +
"\x1bMONITOR_STEP_CHECKING_OWNED\x10\x02\x12\"\n" +
"\x1eMONITOR_STEP_SEARCHING_INDEXER\x10\x03\x12 \n" +
"\x1cMONITOR_STEP_PARSING_RESULTS\x10\x04\x12\"\n" +
"\x1eMONITOR_STEP_FILTERING_QUALITY\x10\x05\x12\"\n" +
"\x1eMONITOR_STEP_SELECTING_RELEASE\x10\x06\x12\x1f\n" +
"\x1bMONITOR_STEP_ADDING_TORRENT\x10\a\x12\x17\n" +
"\x13MONITOR_STEP_SAVING\x10\b\x12\x19\n" +
"\x15MONITOR_STEP_COMPLETE\x10\t*{\n" +
"\n" +
"PromptType\x12\x1b\n" +
"\x17PROMPT_TYPE_UNSPECIFIED\x10\x00\x12\x17\n" +
"\x13PROMPT_TYPE_CONFIRM\x10\x01\x12\x1a\n" +
"\x16PROMPT_TYPE_SELECT_ONE\x10\x02\x12\x1b\n" +
"\x17PROMPT_TYPE_SELECT_MANY\x10\x032\xe5\x06\n" +
"\x15MusicAgregatorService\x12f\n" +
"\fMonitorAlbum\x12'.music_agregator.v1.MonitorAlbumRequest\x1a(.music_agregator.v1.MonitorAlbumResponse\"\x03\x88\x02\x01\x12y\n" +
"\x12MonitorAlbumStream\x12-.music_agregator.v1.MonitorAlbumStreamRequest\x1a..music_agregator.v1.MonitorAlbumStreamResponse\"\x00(\x010\x01\x12]\n" +
"\n" +
"GetArtists\x12%.music_agregator.v1.GetArtistsRequest\x1a&.music_agregator.v1.GetArtistsResponse\"\x00\x12W\n" +
"\bGetAlbum\x12#.music_agregator.v1.GetAlbumRequest\x1a$.music_agregator.v1.GetAlbumResponse\"\x00\x12x\n" +
"\x13AnalyzeAlbumRelease\x12..music_agregator.v1.AnalyzeAlbumReleaseRequest\x1a/.music_agregator.v1.AnalyzeAlbumReleaseResponse\"\x00\x12f\n" +
"\rSearchArtists\x12(.music_agregator.v1.SearchArtistsRequest\x1a).music_agregator.v1.SearchArtistsResponse\"\x00\x12l\n" +
"\x0fGetArtistAlbums\x12*.music_agregator.v1.GetArtistAlbumsRequest\x1a+.music_agregator.v1.GetArtistAlbumsResponse\"\x00\x12a\n" +
"\x0fSubscribeEvents\x12*.music_agregator.v1.SubscribeEventsRequest\x1a\x1e.music_agregator.v1.AlbumEvent\"\x000\x01B5Z3homelab.lan/music-agregator/gen/music_agregator/v1/b\x06proto3"
var (
file_music_agregator_v1_music_agregator_proto_rawDescOnce sync.Once
file_music_agregator_v1_music_agregator_proto_rawDescData []byte
)
func file_music_agregator_v1_music_agregator_proto_rawDescGZIP() []byte {
file_music_agregator_v1_music_agregator_proto_rawDescOnce.Do(func() {
file_music_agregator_v1_music_agregator_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_music_agregator_v1_music_agregator_proto_rawDesc), len(file_music_agregator_v1_music_agregator_proto_rawDesc)))
})
return file_music_agregator_v1_music_agregator_proto_rawDescData
}
var file_music_agregator_v1_music_agregator_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
var file_music_agregator_v1_music_agregator_proto_msgTypes = make([]protoimpl.MessageInfo, 45)
var file_music_agregator_v1_music_agregator_proto_goTypes = []any{
(QualityType)(0), // 0: music_agregator.v1.QualityType
(MonitorState)(0), // 1: music_agregator.v1.MonitorState
(InteractionMode)(0), // 2: music_agregator.v1.InteractionMode
(MonitorStep)(0), // 3: music_agregator.v1.MonitorStep
(PromptType)(0), // 4: music_agregator.v1.PromptType
(*MonitorAlbumRequest)(nil), // 5: music_agregator.v1.MonitorAlbumRequest
(*IndexerOptions)(nil), // 6: music_agregator.v1.IndexerOptions
(*MonitorAlbumResponse)(nil), // 7: music_agregator.v1.MonitorAlbumResponse
(*GetArtistsRequest)(nil), // 8: music_agregator.v1.GetArtistsRequest
(*GetArtistsResponse)(nil), // 9: music_agregator.v1.GetArtistsResponse
(*ArtistSummary)(nil), // 10: music_agregator.v1.ArtistSummary
(*AlbumDetail)(nil), // 11: music_agregator.v1.AlbumDetail
(*DownloadInfo)(nil), // 12: music_agregator.v1.DownloadInfo
(*GetAlbumRequest)(nil), // 13: music_agregator.v1.GetAlbumRequest
(*AlbumInfo)(nil), // 14: music_agregator.v1.AlbumInfo
(*GetAlbumResponse)(nil), // 15: music_agregator.v1.GetAlbumResponse
(*AnalyzeAlbumReleaseRequest)(nil), // 16: music_agregator.v1.AnalyzeAlbumReleaseRequest
(*AnalyzeAlbumReleaseResponse)(nil), // 17: music_agregator.v1.AnalyzeAlbumReleaseResponse
(*TrackDetail)(nil), // 18: music_agregator.v1.TrackDetail
(*ArtistCredit)(nil), // 19: music_agregator.v1.ArtistCredit
(*AlbumReleaseDetail)(nil), // 20: music_agregator.v1.AlbumReleaseDetail
(*MonitoredRelease)(nil), // 21: music_agregator.v1.MonitoredRelease
(*SearchArtistsRequest)(nil), // 22: music_agregator.v1.SearchArtistsRequest
(*SearchArtistsResponse)(nil), // 23: music_agregator.v1.SearchArtistsResponse
(*SearchArtistResult)(nil), // 24: music_agregator.v1.SearchArtistResult
(*ExternalId)(nil), // 25: music_agregator.v1.ExternalId
(*GetArtistAlbumsRequest)(nil), // 26: music_agregator.v1.GetArtistAlbumsRequest
(*GetArtistAlbumsResponse)(nil), // 27: music_agregator.v1.GetArtistAlbumsResponse
(*AlbumResult)(nil), // 28: music_agregator.v1.AlbumResult
(*AlbumArtistCredit)(nil), // 29: music_agregator.v1.AlbumArtistCredit
(*AlbumLabel)(nil), // 30: music_agregator.v1.AlbumLabel
(*SubscribeEventsRequest)(nil), // 31: music_agregator.v1.SubscribeEventsRequest
(*AlbumEvent)(nil), // 32: music_agregator.v1.AlbumEvent
(*MonitorAlbumStreamRequest)(nil), // 33: music_agregator.v1.MonitorAlbumStreamRequest
(*StartMonitorRequest)(nil), // 34: music_agregator.v1.StartMonitorRequest
(*UserDecision)(nil), // 35: music_agregator.v1.UserDecision
(*SelectedIds)(nil), // 36: music_agregator.v1.SelectedIds
(*CancelRequest)(nil), // 37: music_agregator.v1.CancelRequest
(*MonitorAlbumStreamResponse)(nil), // 38: music_agregator.v1.MonitorAlbumStreamResponse
(*StatusUpdate)(nil), // 39: music_agregator.v1.StatusUpdate
(*PromptForDecision)(nil), // 40: music_agregator.v1.PromptForDecision
(*ErrorUpdate)(nil), // 41: music_agregator.v1.ErrorUpdate
(*StreamAlbumInfo)(nil), // 42: music_agregator.v1.StreamAlbumInfo
(*TorrentList)(nil), // 43: music_agregator.v1.TorrentList
(*TorrentSummary)(nil), // 44: music_agregator.v1.TorrentSummary
(*ReleaseInfo)(nil), // 45: music_agregator.v1.ReleaseInfo
(*ConfirmPrompt)(nil), // 46: music_agregator.v1.ConfirmPrompt
(*SelectOnePrompt)(nil), // 47: music_agregator.v1.SelectOnePrompt
(*SelectManyPrompt)(nil), // 48: music_agregator.v1.SelectManyPrompt
(*SelectOption)(nil), // 49: music_agregator.v1.SelectOption
}
var file_music_agregator_v1_music_agregator_proto_depIdxs = []int32{
6, // 0: music_agregator.v1.MonitorAlbumRequest.indexer_options:type_name -> music_agregator.v1.IndexerOptions
0, // 1: music_agregator.v1.MonitorAlbumRequest.quality:type_name -> music_agregator.v1.QualityType
11, // 2: music_agregator.v1.MonitorAlbumResponse.album:type_name -> music_agregator.v1.AlbumDetail
10, // 3: music_agregator.v1.MonitorAlbumResponse.artist:type_name -> music_agregator.v1.ArtistSummary
21, // 4: music_agregator.v1.MonitorAlbumResponse.release:type_name -> music_agregator.v1.MonitoredRelease
10, // 5: music_agregator.v1.GetArtistsResponse.artists:type_name -> music_agregator.v1.ArtistSummary
1, // 6: music_agregator.v1.ArtistSummary.monitor_state:type_name -> music_agregator.v1.MonitorState
11, // 7: music_agregator.v1.ArtistSummary.albums:type_name -> music_agregator.v1.AlbumDetail
1, // 8: music_agregator.v1.AlbumDetail.monitor_state:type_name -> music_agregator.v1.MonitorState
12, // 9: music_agregator.v1.AlbumDetail.downloads:type_name -> music_agregator.v1.DownloadInfo
20, // 10: music_agregator.v1.AlbumDetail.release:type_name -> music_agregator.v1.AlbumReleaseDetail
11, // 11: music_agregator.v1.AlbumInfo.album:type_name -> music_agregator.v1.AlbumDetail
18, // 12: music_agregator.v1.AlbumInfo.tracks:type_name -> music_agregator.v1.TrackDetail
14, // 13: music_agregator.v1.GetAlbumResponse.info:type_name -> music_agregator.v1.AlbumInfo
14, // 14: music_agregator.v1.AnalyzeAlbumReleaseResponse.info:type_name -> music_agregator.v1.AlbumInfo
19, // 15: music_agregator.v1.TrackDetail.artists:type_name -> music_agregator.v1.ArtistCredit
24, // 16: music_agregator.v1.SearchArtistsResponse.artists:type_name -> music_agregator.v1.SearchArtistResult
25, // 17: music_agregator.v1.SearchArtistResult.external_ids:type_name -> music_agregator.v1.ExternalId
28, // 18: music_agregator.v1.GetArtistAlbumsResponse.albums:type_name -> music_agregator.v1.AlbumResult
29, // 19: music_agregator.v1.AlbumResult.artists:type_name -> music_agregator.v1.AlbumArtistCredit
30, // 20: music_agregator.v1.AlbumResult.label:type_name -> music_agregator.v1.AlbumLabel
25, // 21: music_agregator.v1.AlbumResult.external_ids:type_name -> music_agregator.v1.ExternalId
34, // 22: music_agregator.v1.MonitorAlbumStreamRequest.start:type_name -> music_agregator.v1.StartMonitorRequest
35, // 23: music_agregator.v1.MonitorAlbumStreamRequest.decision:type_name -> music_agregator.v1.UserDecision
37, // 24: music_agregator.v1.MonitorAlbumStreamRequest.cancel:type_name -> music_agregator.v1.CancelRequest
6, // 25: music_agregator.v1.StartMonitorRequest.indexer_options:type_name -> music_agregator.v1.IndexerOptions
0, // 26: music_agregator.v1.StartMonitorRequest.quality:type_name -> music_agregator.v1.QualityType
2, // 27: music_agregator.v1.StartMonitorRequest.mode:type_name -> music_agregator.v1.InteractionMode
36, // 28: music_agregator.v1.UserDecision.selected_ids:type_name -> music_agregator.v1.SelectedIds
39, // 29: music_agregator.v1.MonitorAlbumStreamResponse.status:type_name -> music_agregator.v1.StatusUpdate
40, // 30: music_agregator.v1.MonitorAlbumStreamResponse.prompt:type_name -> music_agregator.v1.PromptForDecision
7, // 31: music_agregator.v1.MonitorAlbumStreamResponse.result:type_name -> music_agregator.v1.MonitorAlbumResponse
41, // 32: music_agregator.v1.MonitorAlbumStreamResponse.error:type_name -> music_agregator.v1.ErrorUpdate
3, // 33: music_agregator.v1.StatusUpdate.step:type_name -> music_agregator.v1.MonitorStep
42, // 34: music_agregator.v1.StatusUpdate.album_info:type_name -> music_agregator.v1.StreamAlbumInfo
43, // 35: music_agregator.v1.StatusUpdate.torrents:type_name -> music_agregator.v1.TorrentList
45, // 36: music_agregator.v1.StatusUpdate.release_info:type_name -> music_agregator.v1.ReleaseInfo
4, // 37: music_agregator.v1.PromptForDecision.type:type_name -> music_agregator.v1.PromptType
46, // 38: music_agregator.v1.PromptForDecision.confirm:type_name -> music_agregator.v1.ConfirmPrompt
47, // 39: music_agregator.v1.PromptForDecision.select_one:type_name -> music_agregator.v1.SelectOnePrompt
48, // 40: music_agregator.v1.PromptForDecision.select_many:type_name -> music_agregator.v1.SelectManyPrompt
3, // 41: music_agregator.v1.ErrorUpdate.failed_step:type_name -> music_agregator.v1.MonitorStep
44, // 42: music_agregator.v1.TorrentList.torrents:type_name -> music_agregator.v1.TorrentSummary
49, // 43: music_agregator.v1.SelectOnePrompt.options:type_name -> music_agregator.v1.SelectOption
49, // 44: music_agregator.v1.SelectManyPrompt.options:type_name -> music_agregator.v1.SelectOption
5, // 45: music_agregator.v1.MusicAgregatorService.MonitorAlbum:input_type -> music_agregator.v1.MonitorAlbumRequest
33, // 46: music_agregator.v1.MusicAgregatorService.MonitorAlbumStream:input_type -> music_agregator.v1.MonitorAlbumStreamRequest
8, // 47: music_agregator.v1.MusicAgregatorService.GetArtists:input_type -> music_agregator.v1.GetArtistsRequest
13, // 48: music_agregator.v1.MusicAgregatorService.GetAlbum:input_type -> music_agregator.v1.GetAlbumRequest
16, // 49: music_agregator.v1.MusicAgregatorService.AnalyzeAlbumRelease:input_type -> music_agregator.v1.AnalyzeAlbumReleaseRequest
22, // 50: music_agregator.v1.MusicAgregatorService.SearchArtists:input_type -> music_agregator.v1.SearchArtistsRequest
26, // 51: music_agregator.v1.MusicAgregatorService.GetArtistAlbums:input_type -> music_agregator.v1.GetArtistAlbumsRequest
31, // 52: music_agregator.v1.MusicAgregatorService.SubscribeEvents:input_type -> music_agregator.v1.SubscribeEventsRequest
7, // 53: music_agregator.v1.MusicAgregatorService.MonitorAlbum:output_type -> music_agregator.v1.MonitorAlbumResponse
38, // 54: music_agregator.v1.MusicAgregatorService.MonitorAlbumStream:output_type -> music_agregator.v1.MonitorAlbumStreamResponse
9, // 55: music_agregator.v1.MusicAgregatorService.GetArtists:output_type -> music_agregator.v1.GetArtistsResponse
15, // 56: music_agregator.v1.MusicAgregatorService.GetAlbum:output_type -> music_agregator.v1.GetAlbumResponse
17, // 57: music_agregator.v1.MusicAgregatorService.AnalyzeAlbumRelease:output_type -> music_agregator.v1.AnalyzeAlbumReleaseResponse
23, // 58: music_agregator.v1.MusicAgregatorService.SearchArtists:output_type -> music_agregator.v1.SearchArtistsResponse
27, // 59: music_agregator.v1.MusicAgregatorService.GetArtistAlbums:output_type -> music_agregator.v1.GetArtistAlbumsResponse
32, // 60: music_agregator.v1.MusicAgregatorService.SubscribeEvents:output_type -> music_agregator.v1.AlbumEvent
53, // [53:61] is the sub-list for method output_type
45, // [45:53] is the sub-list for method input_type
45, // [45:45] is the sub-list for extension type_name
45, // [45:45] is the sub-list for extension extendee
0, // [0:45] is the sub-list for field type_name
}
func init() { file_music_agregator_v1_music_agregator_proto_init() }
func file_music_agregator_v1_music_agregator_proto_init() {
if File_music_agregator_v1_music_agregator_proto != nil {
return
}
file_music_agregator_v1_music_agregator_proto_msgTypes[28].OneofWrappers = []any{
(*MonitorAlbumStreamRequest_Start)(nil),
(*MonitorAlbumStreamRequest_Decision)(nil),
(*MonitorAlbumStreamRequest_Cancel)(nil),
}
file_music_agregator_v1_music_agregator_proto_msgTypes[30].OneofWrappers = []any{
(*UserDecision_Confirm)(nil),
(*UserDecision_SelectedId)(nil),
(*UserDecision_SelectedIds)(nil),
}
file_music_agregator_v1_music_agregator_proto_msgTypes[33].OneofWrappers = []any{
(*MonitorAlbumStreamResponse_Status)(nil),
(*MonitorAlbumStreamResponse_Prompt)(nil),
(*MonitorAlbumStreamResponse_Result)(nil),
(*MonitorAlbumStreamResponse_Error)(nil),
}
file_music_agregator_v1_music_agregator_proto_msgTypes[34].OneofWrappers = []any{
(*StatusUpdate_AlbumInfo)(nil),
(*StatusUpdate_Torrents)(nil),
(*StatusUpdate_ReleaseInfo)(nil),
}
file_music_agregator_v1_music_agregator_proto_msgTypes[35].OneofWrappers = []any{
(*PromptForDecision_Confirm)(nil),
(*PromptForDecision_SelectOne)(nil),
(*PromptForDecision_SelectMany)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_music_agregator_v1_music_agregator_proto_rawDesc), len(file_music_agregator_v1_music_agregator_proto_rawDesc)),
NumEnums: 5,
NumMessages: 45,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_music_agregator_v1_music_agregator_proto_goTypes,
DependencyIndexes: file_music_agregator_v1_music_agregator_proto_depIdxs,
EnumInfos: file_music_agregator_v1_music_agregator_proto_enumTypes,
MessageInfos: file_music_agregator_v1_music_agregator_proto_msgTypes,
}.Build()
File_music_agregator_v1_music_agregator_proto = out.File
file_music_agregator_v1_music_agregator_proto_goTypes = nil
file_music_agregator_v1_music_agregator_proto_depIdxs = nil
}