// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 // protoc (unknown) // source: metadata/v1/metadata.proto package metadatav1 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 Provider int32 const ( Provider_PROVIDER_UNSPECIFIED Provider = 0 Provider_PROVIDER_MUSICBRAINZ Provider = 1 ) // Enum value maps for Provider. var ( Provider_name = map[int32]string{ 0: "PROVIDER_UNSPECIFIED", 1: "PROVIDER_MUSICBRAINZ", } Provider_value = map[string]int32{ "PROVIDER_UNSPECIFIED": 0, "PROVIDER_MUSICBRAINZ": 1, } ) func (x Provider) Enum() *Provider { p := new(Provider) *p = x return p } func (x Provider) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Provider) Descriptor() protoreflect.EnumDescriptor { return file_metadata_v1_metadata_proto_enumTypes[0].Descriptor() } func (Provider) Type() protoreflect.EnumType { return &file_metadata_v1_metadata_proto_enumTypes[0] } func (x Provider) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Provider.Descriptor instead. func (Provider) EnumDescriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{0} } type GetArtistRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Identifier: // // *GetArtistRequest_Id // *GetArtistRequest_External Identifier isGetArtistRequest_Identifier `protobuf_oneof:"identifier"` Provider Provider `protobuf:"varint,3,opt,name=provider,proto3,enum=metadata.v1.Provider" json:"provider,omitempty"` // UNSPECIFIED = query all providers unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetArtistRequest) Reset() { *x = GetArtistRequest{} mi := &file_metadata_v1_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetArtistRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetArtistRequest) ProtoMessage() {} func (x *GetArtistRequest) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 GetArtistRequest.ProtoReflect.Descriptor instead. func (*GetArtistRequest) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{0} } func (x *GetArtistRequest) GetIdentifier() isGetArtistRequest_Identifier { if x != nil { return x.Identifier } return nil } func (x *GetArtistRequest) GetId() string { if x != nil { if x, ok := x.Identifier.(*GetArtistRequest_Id); ok { return x.Id } } return "" } func (x *GetArtistRequest) GetExternal() *ExternalID { if x != nil { if x, ok := x.Identifier.(*GetArtistRequest_External); ok { return x.External } } return nil } func (x *GetArtistRequest) GetProvider() Provider { if x != nil { return x.Provider } return Provider_PROVIDER_UNSPECIFIED } type isGetArtistRequest_Identifier interface { isGetArtistRequest_Identifier() } type GetArtistRequest_Id struct { Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` // Internal UUID } type GetArtistRequest_External struct { External *ExternalID `protobuf:"bytes,2,opt,name=external,proto3,oneof"` // External source ID (e.g., musicbrainz MBID) } func (*GetArtistRequest_Id) isGetArtistRequest_Identifier() {} func (*GetArtistRequest_External) isGetArtistRequest_Identifier() {} 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"` Provider Provider `protobuf:"varint,4,opt,name=provider,proto3,enum=metadata.v1.Provider" json:"provider,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SearchArtistsRequest) Reset() { *x = SearchArtistsRequest{} mi := &file_metadata_v1_metadata_proto_msgTypes[1] 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_metadata_v1_metadata_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 SearchArtistsRequest.ProtoReflect.Descriptor instead. func (*SearchArtistsRequest) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{1} } 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 } func (x *SearchArtistsRequest) GetProvider() Provider { if x != nil { return x.Provider } return Provider_PROVIDER_UNSPECIFIED } type GetAlbumRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Identifier: // // *GetAlbumRequest_Id // *GetAlbumRequest_External Identifier isGetAlbumRequest_Identifier `protobuf_oneof:"identifier"` Provider Provider `protobuf:"varint,3,opt,name=provider,proto3,enum=metadata.v1.Provider" json:"provider,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetAlbumRequest) Reset() { *x = GetAlbumRequest{} mi := &file_metadata_v1_metadata_proto_msgTypes[2] 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_metadata_v1_metadata_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 GetAlbumRequest.ProtoReflect.Descriptor instead. func (*GetAlbumRequest) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{2} } func (x *GetAlbumRequest) GetIdentifier() isGetAlbumRequest_Identifier { if x != nil { return x.Identifier } return nil } func (x *GetAlbumRequest) GetId() string { if x != nil { if x, ok := x.Identifier.(*GetAlbumRequest_Id); ok { return x.Id } } return "" } func (x *GetAlbumRequest) GetExternal() *ExternalID { if x != nil { if x, ok := x.Identifier.(*GetAlbumRequest_External); ok { return x.External } } return nil } func (x *GetAlbumRequest) GetProvider() Provider { if x != nil { return x.Provider } return Provider_PROVIDER_UNSPECIFIED } type isGetAlbumRequest_Identifier interface { isGetAlbumRequest_Identifier() } type GetAlbumRequest_Id struct { Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` } type GetAlbumRequest_External struct { External *ExternalID `protobuf:"bytes,2,opt,name=external,proto3,oneof"` } func (*GetAlbumRequest_Id) isGetAlbumRequest_Identifier() {} func (*GetAlbumRequest_External) isGetAlbumRequest_Identifier() {} 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"` Provider Provider `protobuf:"varint,4,opt,name=provider,proto3,enum=metadata.v1.Provider" json:"provider,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetArtistAlbumsRequest) Reset() { *x = GetArtistAlbumsRequest{} mi := &file_metadata_v1_metadata_proto_msgTypes[3] 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_metadata_v1_metadata_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 GetArtistAlbumsRequest.ProtoReflect.Descriptor instead. func (*GetArtistAlbumsRequest) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{3} } 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 } func (x *GetArtistAlbumsRequest) GetProvider() Provider { if x != nil { return x.Provider } return Provider_PROVIDER_UNSPECIFIED } type GetTrackRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Identifier: // // *GetTrackRequest_Id // *GetTrackRequest_External // *GetTrackRequest_Isrc Identifier isGetTrackRequest_Identifier `protobuf_oneof:"identifier"` Provider Provider `protobuf:"varint,4,opt,name=provider,proto3,enum=metadata.v1.Provider" json:"provider,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetTrackRequest) Reset() { *x = GetTrackRequest{} mi := &file_metadata_v1_metadata_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetTrackRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetTrackRequest) ProtoMessage() {} func (x *GetTrackRequest) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 GetTrackRequest.ProtoReflect.Descriptor instead. func (*GetTrackRequest) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{4} } func (x *GetTrackRequest) GetIdentifier() isGetTrackRequest_Identifier { if x != nil { return x.Identifier } return nil } func (x *GetTrackRequest) GetId() string { if x != nil { if x, ok := x.Identifier.(*GetTrackRequest_Id); ok { return x.Id } } return "" } func (x *GetTrackRequest) GetExternal() *ExternalID { if x != nil { if x, ok := x.Identifier.(*GetTrackRequest_External); ok { return x.External } } return nil } func (x *GetTrackRequest) GetIsrc() string { if x != nil { if x, ok := x.Identifier.(*GetTrackRequest_Isrc); ok { return x.Isrc } } return "" } func (x *GetTrackRequest) GetProvider() Provider { if x != nil { return x.Provider } return Provider_PROVIDER_UNSPECIFIED } type isGetTrackRequest_Identifier interface { isGetTrackRequest_Identifier() } type GetTrackRequest_Id struct { Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` } type GetTrackRequest_External struct { External *ExternalID `protobuf:"bytes,2,opt,name=external,proto3,oneof"` } type GetTrackRequest_Isrc struct { Isrc string `protobuf:"bytes,3,opt,name=isrc,proto3,oneof"` } func (*GetTrackRequest_Id) isGetTrackRequest_Identifier() {} func (*GetTrackRequest_External) isGetTrackRequest_Identifier() {} func (*GetTrackRequest_Isrc) isGetTrackRequest_Identifier() {} type GetAlbumTracksRequest struct { state protoimpl.MessageState `protogen:"open.v1"` AlbumId string `protobuf:"bytes,1,opt,name=album_id,json=albumId,proto3" json:"album_id,omitempty"` Provider Provider `protobuf:"varint,2,opt,name=provider,proto3,enum=metadata.v1.Provider" json:"provider,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetAlbumTracksRequest) Reset() { *x = GetAlbumTracksRequest{} mi := &file_metadata_v1_metadata_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetAlbumTracksRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetAlbumTracksRequest) ProtoMessage() {} func (x *GetAlbumTracksRequest) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 GetAlbumTracksRequest.ProtoReflect.Descriptor instead. func (*GetAlbumTracksRequest) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{5} } func (x *GetAlbumTracksRequest) GetAlbumId() string { if x != nil { return x.AlbumId } return "" } func (x *GetAlbumTracksRequest) GetProvider() Provider { if x != nil { return x.Provider } return Provider_PROVIDER_UNSPECIFIED } type SearchAlbumsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` Artist string `protobuf:"bytes,2,opt,name=artist,proto3" json:"artist,omitempty"` Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` Provider Provider `protobuf:"varint,5,opt,name=provider,proto3,enum=metadata.v1.Provider" json:"provider,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SearchAlbumsRequest) Reset() { *x = SearchAlbumsRequest{} mi := &file_metadata_v1_metadata_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SearchAlbumsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchAlbumsRequest) ProtoMessage() {} func (x *SearchAlbumsRequest) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 SearchAlbumsRequest.ProtoReflect.Descriptor instead. func (*SearchAlbumsRequest) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{6} } func (x *SearchAlbumsRequest) GetQuery() string { if x != nil { return x.Query } return "" } func (x *SearchAlbumsRequest) GetArtist() string { if x != nil { return x.Artist } return "" } func (x *SearchAlbumsRequest) GetLimit() int32 { if x != nil { return x.Limit } return 0 } func (x *SearchAlbumsRequest) GetOffset() int32 { if x != nil { return x.Offset } return 0 } func (x *SearchAlbumsRequest) GetProvider() Provider { if x != nil { return x.Provider } return Provider_PROVIDER_UNSPECIFIED } type SearchAlbumsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Albums []*Album `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 *SearchAlbumsResponse) Reset() { *x = SearchAlbumsResponse{} mi := &file_metadata_v1_metadata_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SearchAlbumsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchAlbumsResponse) ProtoMessage() {} func (x *SearchAlbumsResponse) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 SearchAlbumsResponse.ProtoReflect.Descriptor instead. func (*SearchAlbumsResponse) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{7} } func (x *SearchAlbumsResponse) GetAlbums() []*Album { if x != nil { return x.Albums } return nil } func (x *SearchAlbumsResponse) GetTotal() int32 { if x != nil { return x.Total } return 0 } type SyncArtistRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Target: // // *SyncArtistRequest_Name // *SyncArtistRequest_External Target isSyncArtistRequest_Target `protobuf_oneof:"target"` Provider Provider `protobuf:"varint,3,opt,name=provider,proto3,enum=metadata.v1.Provider" json:"provider,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SyncArtistRequest) Reset() { *x = SyncArtistRequest{} mi := &file_metadata_v1_metadata_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SyncArtistRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SyncArtistRequest) ProtoMessage() {} func (x *SyncArtistRequest) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 SyncArtistRequest.ProtoReflect.Descriptor instead. func (*SyncArtistRequest) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{8} } func (x *SyncArtistRequest) GetTarget() isSyncArtistRequest_Target { if x != nil { return x.Target } return nil } func (x *SyncArtistRequest) GetName() string { if x != nil { if x, ok := x.Target.(*SyncArtistRequest_Name); ok { return x.Name } } return "" } func (x *SyncArtistRequest) GetExternal() *ExternalID { if x != nil { if x, ok := x.Target.(*SyncArtistRequest_External); ok { return x.External } } return nil } func (x *SyncArtistRequest) GetProvider() Provider { if x != nil { return x.Provider } return Provider_PROVIDER_UNSPECIFIED } type isSyncArtistRequest_Target interface { isSyncArtistRequest_Target() } type SyncArtistRequest_Name struct { Name string `protobuf:"bytes,1,opt,name=name,proto3,oneof"` } type SyncArtistRequest_External struct { External *ExternalID `protobuf:"bytes,2,opt,name=external,proto3,oneof"` } func (*SyncArtistRequest_Name) isSyncArtistRequest_Target() {} func (*SyncArtistRequest_External) isSyncArtistRequest_Target() {} type SearchArtistsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Artists []*Artist `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_metadata_v1_metadata_proto_msgTypes[9] 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_metadata_v1_metadata_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 SearchArtistsResponse.ProtoReflect.Descriptor instead. func (*SearchArtistsResponse) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{9} } func (x *SearchArtistsResponse) GetArtists() []*Artist { if x != nil { return x.Artists } return nil } func (x *SearchArtistsResponse) GetTotal() int32 { if x != nil { return x.Total } return 0 } type GetArtistAlbumsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Albums []*Album `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_metadata_v1_metadata_proto_msgTypes[10] 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_metadata_v1_metadata_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 GetArtistAlbumsResponse.ProtoReflect.Descriptor instead. func (*GetArtistAlbumsResponse) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{10} } func (x *GetArtistAlbumsResponse) GetAlbums() []*Album { if x != nil { return x.Albums } return nil } func (x *GetArtistAlbumsResponse) GetTotal() int32 { if x != nil { return x.Total } return 0 } type GetAlbumTracksResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Tracks []*Track `protobuf:"bytes,1,rep,name=tracks,proto3" json:"tracks,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetAlbumTracksResponse) Reset() { *x = GetAlbumTracksResponse{} mi := &file_metadata_v1_metadata_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetAlbumTracksResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetAlbumTracksResponse) ProtoMessage() {} func (x *GetAlbumTracksResponse) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 GetAlbumTracksResponse.ProtoReflect.Descriptor instead. func (*GetAlbumTracksResponse) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{11} } func (x *GetAlbumTracksResponse) GetTracks() []*Track { if x != nil { return x.Tracks } return nil } type SyncArtistResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Artist *Artist `protobuf:"bytes,1,opt,name=artist,proto3" json:"artist,omitempty"` AlbumsSynced int32 `protobuf:"varint,2,opt,name=albums_synced,json=albumsSynced,proto3" json:"albums_synced,omitempty"` TracksSynced int32 `protobuf:"varint,3,opt,name=tracks_synced,json=tracksSynced,proto3" json:"tracks_synced,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SyncArtistResponse) Reset() { *x = SyncArtistResponse{} mi := &file_metadata_v1_metadata_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SyncArtistResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SyncArtistResponse) ProtoMessage() {} func (x *SyncArtistResponse) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 SyncArtistResponse.ProtoReflect.Descriptor instead. func (*SyncArtistResponse) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{12} } func (x *SyncArtistResponse) GetArtist() *Artist { if x != nil { return x.Artist } return nil } func (x *SyncArtistResponse) GetAlbumsSynced() int32 { if x != nil { return x.AlbumsSynced } return 0 } func (x *SyncArtistResponse) GetTracksSynced() int32 { if x != nil { return x.TracksSynced } return 0 } type Artist 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"` // person, group, orchestra, etc. 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 []*Genre `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 *Artist) Reset() { *x = Artist{} mi := &file_metadata_v1_metadata_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Artist) String() string { return protoimpl.X.MessageStringOf(x) } func (*Artist) ProtoMessage() {} func (x *Artist) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 Artist.ProtoReflect.Descriptor instead. func (*Artist) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{13} } func (x *Artist) GetId() string { if x != nil { return x.Id } return "" } func (x *Artist) GetName() string { if x != nil { return x.Name } return "" } func (x *Artist) GetSortName() string { if x != nil { return x.SortName } return "" } func (x *Artist) GetArtistType() string { if x != nil { return x.ArtistType } return "" } func (x *Artist) GetCountry() string { if x != nil { return x.Country } return "" } func (x *Artist) GetFormedDate() string { if x != nil { return x.FormedDate } return "" } func (x *Artist) GetDisbandedDate() string { if x != nil { return x.DisbandedDate } return "" } func (x *Artist) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Artist) GetImageUrl() string { if x != nil { return x.ImageUrl } return "" } func (x *Artist) GetGenres() []*Genre { if x != nil { return x.Genres } return nil } func (x *Artist) GetExternalIds() []*ExternalID { if x != nil { return x.ExternalIds } return nil } type Album 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"` // album, ep, single, compilation 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 []*ArtistCredit `protobuf:"bytes,9,rep,name=artists,proto3" json:"artists,omitempty"` Label *Label `protobuf:"bytes,10,opt,name=label,proto3" json:"label,omitempty"` Genres []*Genre `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 *Album) Reset() { *x = Album{} mi := &file_metadata_v1_metadata_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Album) String() string { return protoimpl.X.MessageStringOf(x) } func (*Album) ProtoMessage() {} func (x *Album) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 Album.ProtoReflect.Descriptor instead. func (*Album) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{14} } func (x *Album) GetId() string { if x != nil { return x.Id } return "" } func (x *Album) GetTitle() string { if x != nil { return x.Title } return "" } func (x *Album) GetAlbumType() string { if x != nil { return x.AlbumType } return "" } func (x *Album) GetReleaseDate() string { if x != nil { return x.ReleaseDate } return "" } func (x *Album) GetUpc() string { if x != nil { return x.Upc } return "" } func (x *Album) GetTotalTracks() int32 { if x != nil { return x.TotalTracks } return 0 } func (x *Album) GetTotalDiscs() int32 { if x != nil { return x.TotalDiscs } return 0 } func (x *Album) GetCoverUrl() string { if x != nil { return x.CoverUrl } return "" } func (x *Album) GetArtists() []*ArtistCredit { if x != nil { return x.Artists } return nil } func (x *Album) GetLabel() *Label { if x != nil { return x.Label } return nil } func (x *Album) GetGenres() []*Genre { if x != nil { return x.Genres } return nil } func (x *Album) GetExternalIds() []*ExternalID { if x != nil { return x.ExternalIds } return nil } type Track 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"` DurationMs int32 `protobuf:"varint,3,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"` Isrc string `protobuf:"bytes,4,opt,name=isrc,proto3" json:"isrc,omitempty"` Explicit bool `protobuf:"varint,5,opt,name=explicit,proto3" json:"explicit,omitempty"` DiscNumber int32 `protobuf:"varint,6,opt,name=disc_number,json=discNumber,proto3" json:"disc_number,omitempty"` TrackNumber int32 `protobuf:"varint,7,opt,name=track_number,json=trackNumber,proto3" json:"track_number,omitempty"` Artists []*ArtistCredit `protobuf:"bytes,8,rep,name=artists,proto3" json:"artists,omitempty"` Work *Work `protobuf:"bytes,9,opt,name=work,proto3" json:"work,omitempty"` ExternalIds []*ExternalID `protobuf:"bytes,10,rep,name=external_ids,json=externalIds,proto3" json:"external_ids,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Track) Reset() { *x = Track{} mi := &file_metadata_v1_metadata_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Track) String() string { return protoimpl.X.MessageStringOf(x) } func (*Track) ProtoMessage() {} func (x *Track) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 Track.ProtoReflect.Descriptor instead. func (*Track) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{15} } func (x *Track) GetId() string { if x != nil { return x.Id } return "" } func (x *Track) GetTitle() string { if x != nil { return x.Title } return "" } func (x *Track) GetDurationMs() int32 { if x != nil { return x.DurationMs } return 0 } func (x *Track) GetIsrc() string { if x != nil { return x.Isrc } return "" } func (x *Track) GetExplicit() bool { if x != nil { return x.Explicit } return false } func (x *Track) GetDiscNumber() int32 { if x != nil { return x.DiscNumber } return 0 } func (x *Track) GetTrackNumber() int32 { if x != nil { return x.TrackNumber } return 0 } func (x *Track) GetArtists() []*ArtistCredit { if x != nil { return x.Artists } return nil } func (x *Track) GetWork() *Work { if x != nil { return x.Work } return nil } func (x *Track) GetExternalIds() []*ExternalID { if x != nil { return x.ExternalIds } return nil } type Work 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"` WorkType string `protobuf:"bytes,3,opt,name=work_type,json=workType,proto3" json:"work_type,omitempty"` Language string `protobuf:"bytes,4,opt,name=language,proto3" json:"language,omitempty"` Composers []*ArtistCredit `protobuf:"bytes,5,rep,name=composers,proto3" json:"composers,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Work) Reset() { *x = Work{} mi := &file_metadata_v1_metadata_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Work) String() string { return protoimpl.X.MessageStringOf(x) } func (*Work) ProtoMessage() {} func (x *Work) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 Work.ProtoReflect.Descriptor instead. func (*Work) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{16} } func (x *Work) GetId() string { if x != nil { return x.Id } return "" } func (x *Work) GetTitle() string { if x != nil { return x.Title } return "" } func (x *Work) GetWorkType() string { if x != nil { return x.WorkType } return "" } func (x *Work) GetLanguage() string { if x != nil { return x.Language } return "" } func (x *Work) GetComposers() []*ArtistCredit { if x != nil { return x.Composers } return nil } type Label 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 *Label) Reset() { *x = Label{} mi := &file_metadata_v1_metadata_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Label) String() string { return protoimpl.X.MessageStringOf(x) } func (*Label) ProtoMessage() {} func (x *Label) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 Label.ProtoReflect.Descriptor instead. func (*Label) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{17} } func (x *Label) GetId() string { if x != nil { return x.Id } return "" } func (x *Label) GetName() string { if x != nil { return x.Name } return "" } func (x *Label) GetCountry() string { if x != nil { return x.Country } return "" } type Genre 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 *Genre) Reset() { *x = Genre{} mi := &file_metadata_v1_metadata_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Genre) String() string { return protoimpl.X.MessageStringOf(x) } func (*Genre) ProtoMessage() {} func (x *Genre) ProtoReflect() protoreflect.Message { mi := &file_metadata_v1_metadata_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 Genre.ProtoReflect.Descriptor instead. func (*Genre) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{18} } func (x *Genre) GetId() string { if x != nil { return x.Id } return "" } func (x *Genre) GetName() string { if x != nil { return x.Name } return "" } type ArtistCredit struct { state protoimpl.MessageState `protogen:"open.v1"` Artist *Artist `protobuf:"bytes,1,opt,name=artist,proto3" json:"artist,omitempty"` Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` // primary, featured, remixer, producer Position int32 `protobuf:"varint,3,opt,name=position,proto3" json:"position,omitempty"` JoinPhrase string `protobuf:"bytes,4,opt,name=join_phrase,json=joinPhrase,proto3" json:"join_phrase,omitempty"` // " & ", " feat. ", etc. unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ArtistCredit) Reset() { *x = ArtistCredit{} mi := &file_metadata_v1_metadata_proto_msgTypes[19] 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_metadata_v1_metadata_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 ArtistCredit.ProtoReflect.Descriptor instead. func (*ArtistCredit) Descriptor() ([]byte, []int) { return file_metadata_v1_metadata_proto_rawDescGZIP(), []int{19} } func (x *ArtistCredit) GetArtist() *Artist { if x != nil { return x.Artist } return nil } func (x *ArtistCredit) GetRole() string { if x != nil { return x.Role } return "" } func (x *ArtistCredit) GetPosition() int32 { if x != nil { return x.Position } return 0 } func (x *ArtistCredit) GetJoinPhrase() string { if x != nil { return x.JoinPhrase } return "" } type ExternalID struct { state protoimpl.MessageState `protogen:"open.v1"` Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` // musicbrainz, spotify, discogs, etc. SourceId string `protobuf:"bytes,2,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ExternalID) Reset() { *x = ExternalID{} mi := &file_metadata_v1_metadata_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_metadata_v1_metadata_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_metadata_v1_metadata_proto_rawDescGZIP(), []int{20} } func (x *ExternalID) GetSource() string { if x != nil { return x.Source } return "" } func (x *ExternalID) GetSourceId() string { if x != nil { return x.SourceId } return "" } func (x *ExternalID) GetUrl() string { if x != nil { return x.Url } return "" } var File_metadata_v1_metadata_proto protoreflect.FileDescriptor const file_metadata_v1_metadata_proto_rawDesc = "" + "\n" + "\x1ametadata/v1/metadata.proto\x12\vmetadata.v1\"\x9c\x01\n" + "\x10GetArtistRequest\x12\x10\n" + "\x02id\x18\x01 \x01(\tH\x00R\x02id\x125\n" + "\bexternal\x18\x02 \x01(\v2\x17.metadata.v1.ExternalIDH\x00R\bexternal\x121\n" + "\bprovider\x18\x03 \x01(\x0e2\x15.metadata.v1.ProviderR\bproviderB\f\n" + "\n" + "identifier\"\x8d\x01\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\x121\n" + "\bprovider\x18\x04 \x01(\x0e2\x15.metadata.v1.ProviderR\bprovider\"\x9b\x01\n" + "\x0fGetAlbumRequest\x12\x10\n" + "\x02id\x18\x01 \x01(\tH\x00R\x02id\x125\n" + "\bexternal\x18\x02 \x01(\v2\x17.metadata.v1.ExternalIDH\x00R\bexternal\x121\n" + "\bprovider\x18\x03 \x01(\x0e2\x15.metadata.v1.ProviderR\bproviderB\f\n" + "\n" + "identifier\"\x96\x01\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\x121\n" + "\bprovider\x18\x04 \x01(\x0e2\x15.metadata.v1.ProviderR\bprovider\"\xb1\x01\n" + "\x0fGetTrackRequest\x12\x10\n" + "\x02id\x18\x01 \x01(\tH\x00R\x02id\x125\n" + "\bexternal\x18\x02 \x01(\v2\x17.metadata.v1.ExternalIDH\x00R\bexternal\x12\x14\n" + "\x04isrc\x18\x03 \x01(\tH\x00R\x04isrc\x121\n" + "\bprovider\x18\x04 \x01(\x0e2\x15.metadata.v1.ProviderR\bproviderB\f\n" + "\n" + "identifier\"e\n" + "\x15GetAlbumTracksRequest\x12\x19\n" + "\balbum_id\x18\x01 \x01(\tR\aalbumId\x121\n" + "\bprovider\x18\x02 \x01(\x0e2\x15.metadata.v1.ProviderR\bprovider\"\xa4\x01\n" + "\x13SearchAlbumsRequest\x12\x14\n" + "\x05query\x18\x01 \x01(\tR\x05query\x12\x16\n" + "\x06artist\x18\x02 \x01(\tR\x06artist\x12\x14\n" + "\x05limit\x18\x03 \x01(\x05R\x05limit\x12\x16\n" + "\x06offset\x18\x04 \x01(\x05R\x06offset\x121\n" + "\bprovider\x18\x05 \x01(\x0e2\x15.metadata.v1.ProviderR\bprovider\"X\n" + "\x14SearchAlbumsResponse\x12*\n" + "\x06albums\x18\x01 \x03(\v2\x12.metadata.v1.AlbumR\x06albums\x12\x14\n" + "\x05total\x18\x02 \x01(\x05R\x05total\"\x9d\x01\n" + "\x11SyncArtistRequest\x12\x14\n" + "\x04name\x18\x01 \x01(\tH\x00R\x04name\x125\n" + "\bexternal\x18\x02 \x01(\v2\x17.metadata.v1.ExternalIDH\x00R\bexternal\x121\n" + "\bprovider\x18\x03 \x01(\x0e2\x15.metadata.v1.ProviderR\bproviderB\b\n" + "\x06target\"\\\n" + "\x15SearchArtistsResponse\x12-\n" + "\aartists\x18\x01 \x03(\v2\x13.metadata.v1.ArtistR\aartists\x12\x14\n" + "\x05total\x18\x02 \x01(\x05R\x05total\"[\n" + "\x17GetArtistAlbumsResponse\x12*\n" + "\x06albums\x18\x01 \x03(\v2\x12.metadata.v1.AlbumR\x06albums\x12\x14\n" + "\x05total\x18\x02 \x01(\x05R\x05total\"D\n" + "\x16GetAlbumTracksResponse\x12*\n" + "\x06tracks\x18\x01 \x03(\v2\x12.metadata.v1.TrackR\x06tracks\"\x8b\x01\n" + "\x12SyncArtistResponse\x12+\n" + "\x06artist\x18\x01 \x01(\v2\x13.metadata.v1.ArtistR\x06artist\x12#\n" + "\ralbums_synced\x18\x02 \x01(\x05R\falbumsSynced\x12#\n" + "\rtracks_synced\x18\x03 \x01(\x05R\ftracksSynced\"\xf3\x02\n" + "\x06Artist\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*\n" + "\x06genres\x18\n" + " \x03(\v2\x12.metadata.v1.GenreR\x06genres\x12:\n" + "\fexternal_ids\x18\v \x03(\v2\x17.metadata.v1.ExternalIDR\vexternalIds\"\xa9\x03\n" + "\x05Album\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\x123\n" + "\aartists\x18\t \x03(\v2\x19.metadata.v1.ArtistCreditR\aartists\x12(\n" + "\x05label\x18\n" + " \x01(\v2\x12.metadata.v1.LabelR\x05label\x12*\n" + "\x06genres\x18\v \x03(\v2\x12.metadata.v1.GenreR\x06genres\x12:\n" + "\fexternal_ids\x18\f \x03(\v2\x17.metadata.v1.ExternalIDR\vexternalIds\"\xda\x02\n" + "\x05Track\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12\x1f\n" + "\vduration_ms\x18\x03 \x01(\x05R\n" + "durationMs\x12\x12\n" + "\x04isrc\x18\x04 \x01(\tR\x04isrc\x12\x1a\n" + "\bexplicit\x18\x05 \x01(\bR\bexplicit\x12\x1f\n" + "\vdisc_number\x18\x06 \x01(\x05R\n" + "discNumber\x12!\n" + "\ftrack_number\x18\a \x01(\x05R\vtrackNumber\x123\n" + "\aartists\x18\b \x03(\v2\x19.metadata.v1.ArtistCreditR\aartists\x12%\n" + "\x04work\x18\t \x01(\v2\x11.metadata.v1.WorkR\x04work\x12:\n" + "\fexternal_ids\x18\n" + " \x03(\v2\x17.metadata.v1.ExternalIDR\vexternalIds\"\x9e\x01\n" + "\x04Work\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12\x1b\n" + "\twork_type\x18\x03 \x01(\tR\bworkType\x12\x1a\n" + "\blanguage\x18\x04 \x01(\tR\blanguage\x127\n" + "\tcomposers\x18\x05 \x03(\v2\x19.metadata.v1.ArtistCreditR\tcomposers\"E\n" + "\x05Label\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\"+\n" + "\x05Genre\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\"\x8c\x01\n" + "\fArtistCredit\x12+\n" + "\x06artist\x18\x01 \x01(\v2\x13.metadata.v1.ArtistR\x06artist\x12\x12\n" + "\x04role\x18\x02 \x01(\tR\x04role\x12\x1a\n" + "\bposition\x18\x03 \x01(\x05R\bposition\x12\x1f\n" + "\vjoin_phrase\x18\x04 \x01(\tR\n" + "joinPhrase\"S\n" + "\n" + "ExternalID\x12\x16\n" + "\x06source\x18\x01 \x01(\tR\x06source\x12\x1b\n" + "\tsource_id\x18\x02 \x01(\tR\bsourceId\x12\x10\n" + "\x03url\x18\x03 \x01(\tR\x03url*>\n" + "\bProvider\x12\x18\n" + "\x14PROVIDER_UNSPECIFIED\x10\x00\x12\x18\n" + "\x14PROVIDER_MUSICBRAINZ\x10\x012\x83\x05\n" + "\x0fMetadataService\x12?\n" + "\tGetArtist\x12\x1d.metadata.v1.GetArtistRequest\x1a\x13.metadata.v1.Artist\x12V\n" + "\rSearchArtists\x12!.metadata.v1.SearchArtistsRequest\x1a\".metadata.v1.SearchArtistsResponse\x12<\n" + "\bGetAlbum\x12\x1c.metadata.v1.GetAlbumRequest\x1a\x12.metadata.v1.Album\x12\\\n" + "\x0fGetArtistAlbums\x12#.metadata.v1.GetArtistAlbumsRequest\x1a$.metadata.v1.GetArtistAlbumsResponse\x12<\n" + "\bGetTrack\x12\x1c.metadata.v1.GetTrackRequest\x1a\x12.metadata.v1.Track\x12Y\n" + "\x0eGetAlbumTracks\x12\".metadata.v1.GetAlbumTracksRequest\x1a#.metadata.v1.GetAlbumTracksResponse\x12S\n" + "\fSearchAlbums\x12 .metadata.v1.SearchAlbumsRequest\x1a!.metadata.v1.SearchAlbumsResponse\x12M\n" + "\n" + "SyncArtist\x12\x1e.metadata.v1.SyncArtistRequest\x1a\x1f.metadata.v1.SyncArtistResponseB\xab\x01\n" + "\x0fcom.metadata.v1B\rMetadataProtoP\x01Z metadata.v1.ExternalID 0, // 1: metadata.v1.GetArtistRequest.provider:type_name -> metadata.v1.Provider 0, // 2: metadata.v1.SearchArtistsRequest.provider:type_name -> metadata.v1.Provider 21, // 3: metadata.v1.GetAlbumRequest.external:type_name -> metadata.v1.ExternalID 0, // 4: metadata.v1.GetAlbumRequest.provider:type_name -> metadata.v1.Provider 0, // 5: metadata.v1.GetArtistAlbumsRequest.provider:type_name -> metadata.v1.Provider 21, // 6: metadata.v1.GetTrackRequest.external:type_name -> metadata.v1.ExternalID 0, // 7: metadata.v1.GetTrackRequest.provider:type_name -> metadata.v1.Provider 0, // 8: metadata.v1.GetAlbumTracksRequest.provider:type_name -> metadata.v1.Provider 0, // 9: metadata.v1.SearchAlbumsRequest.provider:type_name -> metadata.v1.Provider 15, // 10: metadata.v1.SearchAlbumsResponse.albums:type_name -> metadata.v1.Album 21, // 11: metadata.v1.SyncArtistRequest.external:type_name -> metadata.v1.ExternalID 0, // 12: metadata.v1.SyncArtistRequest.provider:type_name -> metadata.v1.Provider 14, // 13: metadata.v1.SearchArtistsResponse.artists:type_name -> metadata.v1.Artist 15, // 14: metadata.v1.GetArtistAlbumsResponse.albums:type_name -> metadata.v1.Album 16, // 15: metadata.v1.GetAlbumTracksResponse.tracks:type_name -> metadata.v1.Track 14, // 16: metadata.v1.SyncArtistResponse.artist:type_name -> metadata.v1.Artist 19, // 17: metadata.v1.Artist.genres:type_name -> metadata.v1.Genre 21, // 18: metadata.v1.Artist.external_ids:type_name -> metadata.v1.ExternalID 20, // 19: metadata.v1.Album.artists:type_name -> metadata.v1.ArtistCredit 18, // 20: metadata.v1.Album.label:type_name -> metadata.v1.Label 19, // 21: metadata.v1.Album.genres:type_name -> metadata.v1.Genre 21, // 22: metadata.v1.Album.external_ids:type_name -> metadata.v1.ExternalID 20, // 23: metadata.v1.Track.artists:type_name -> metadata.v1.ArtistCredit 17, // 24: metadata.v1.Track.work:type_name -> metadata.v1.Work 21, // 25: metadata.v1.Track.external_ids:type_name -> metadata.v1.ExternalID 20, // 26: metadata.v1.Work.composers:type_name -> metadata.v1.ArtistCredit 14, // 27: metadata.v1.ArtistCredit.artist:type_name -> metadata.v1.Artist 1, // 28: metadata.v1.MetadataService.GetArtist:input_type -> metadata.v1.GetArtistRequest 2, // 29: metadata.v1.MetadataService.SearchArtists:input_type -> metadata.v1.SearchArtistsRequest 3, // 30: metadata.v1.MetadataService.GetAlbum:input_type -> metadata.v1.GetAlbumRequest 4, // 31: metadata.v1.MetadataService.GetArtistAlbums:input_type -> metadata.v1.GetArtistAlbumsRequest 5, // 32: metadata.v1.MetadataService.GetTrack:input_type -> metadata.v1.GetTrackRequest 6, // 33: metadata.v1.MetadataService.GetAlbumTracks:input_type -> metadata.v1.GetAlbumTracksRequest 7, // 34: metadata.v1.MetadataService.SearchAlbums:input_type -> metadata.v1.SearchAlbumsRequest 9, // 35: metadata.v1.MetadataService.SyncArtist:input_type -> metadata.v1.SyncArtistRequest 14, // 36: metadata.v1.MetadataService.GetArtist:output_type -> metadata.v1.Artist 10, // 37: metadata.v1.MetadataService.SearchArtists:output_type -> metadata.v1.SearchArtistsResponse 15, // 38: metadata.v1.MetadataService.GetAlbum:output_type -> metadata.v1.Album 11, // 39: metadata.v1.MetadataService.GetArtistAlbums:output_type -> metadata.v1.GetArtistAlbumsResponse 16, // 40: metadata.v1.MetadataService.GetTrack:output_type -> metadata.v1.Track 12, // 41: metadata.v1.MetadataService.GetAlbumTracks:output_type -> metadata.v1.GetAlbumTracksResponse 8, // 42: metadata.v1.MetadataService.SearchAlbums:output_type -> metadata.v1.SearchAlbumsResponse 13, // 43: metadata.v1.MetadataService.SyncArtist:output_type -> metadata.v1.SyncArtistResponse 36, // [36:44] is the sub-list for method output_type 28, // [28:36] is the sub-list for method input_type 28, // [28:28] is the sub-list for extension type_name 28, // [28:28] is the sub-list for extension extendee 0, // [0:28] is the sub-list for field type_name } func init() { file_metadata_v1_metadata_proto_init() } func file_metadata_v1_metadata_proto_init() { if File_metadata_v1_metadata_proto != nil { return } file_metadata_v1_metadata_proto_msgTypes[0].OneofWrappers = []any{ (*GetArtistRequest_Id)(nil), (*GetArtistRequest_External)(nil), } file_metadata_v1_metadata_proto_msgTypes[2].OneofWrappers = []any{ (*GetAlbumRequest_Id)(nil), (*GetAlbumRequest_External)(nil), } file_metadata_v1_metadata_proto_msgTypes[4].OneofWrappers = []any{ (*GetTrackRequest_Id)(nil), (*GetTrackRequest_External)(nil), (*GetTrackRequest_Isrc)(nil), } file_metadata_v1_metadata_proto_msgTypes[8].OneofWrappers = []any{ (*SyncArtistRequest_Name)(nil), (*SyncArtistRequest_External)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_metadata_v1_metadata_proto_rawDesc), len(file_metadata_v1_metadata_proto_rawDesc)), NumEnums: 1, NumMessages: 21, NumExtensions: 0, NumServices: 1, }, GoTypes: file_metadata_v1_metadata_proto_goTypes, DependencyIndexes: file_metadata_v1_metadata_proto_depIdxs, EnumInfos: file_metadata_v1_metadata_proto_enumTypes, MessageInfos: file_metadata_v1_metadata_proto_msgTypes, }.Build() File_metadata_v1_metadata_proto = out.File file_metadata_v1_metadata_proto_goTypes = nil file_metadata_v1_metadata_proto_depIdxs = nil }