ynisonstate

package
v0.4.1-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 12, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DeviceType_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "WEB",
		2: "ANDROID",
		3: "IOS",
		4: "SMART_SPEAKER",
		5: "WEB_TV",
		6: "ANDROID_TV",
		7: "APPLE_TV",
	}
	DeviceType_value = map[string]int32{
		"UNSPECIFIED":   0,
		"WEB":           1,
		"ANDROID":       2,
		"IOS":           3,
		"SMART_SPEAKER": 4,
		"WEB_TV":        5,
		"ANDROID_TV":    6,
		"APPLE_TV":      7,
	}
)

Enum value maps for DeviceType.

View Source
var (
	Playable_PlayableType_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "TRACK",
		2: "LOCAL_TRACK",
		3: "INFINITE",
		4: "VIDEO_CLIP",
	}
	Playable_PlayableType_value = map[string]int32{
		"UNSPECIFIED": 0,
		"TRACK":       1,
		"LOCAL_TRACK": 2,
		"INFINITE":    3,
		"VIDEO_CLIP":  4,
	}
)

Enum value maps for Playable_PlayableType.

View Source
var (
	VideoClipInfo_RecommendationType_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "RECOMMENDED",
		2: "ON_DEMAND",
	}
	VideoClipInfo_RecommendationType_value = map[string]int32{
		"UNSPECIFIED": 0,
		"RECOMMENDED": 1,
		"ON_DEMAND":   2,
	}
)

Enum value maps for VideoClipInfo_RecommendationType.

View Source
var (
	PlayerQueueInject_Playable_PlayableType_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "ALICE_SHOT",
		2: "AD",
		3: "PREROLL",
	}
	PlayerQueueInject_Playable_PlayableType_value = map[string]int32{
		"UNSPECIFIED": 0,
		"ALICE_SHOT":  1,
		"AD":          2,
		"PREROLL":     3,
	}
)

Enum value maps for PlayerQueueInject_Playable_PlayableType.

View Source
var (
	PlayerQueue_EntityType_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "ARTIST",
		2: "PLAYLIST",
		3: "ALBUM",
		4: "RADIO",
		5: "VARIOUS",
		6: "GENERATIVE",
		7: "FM_RADIO",
		8: "VIDEO_WAVE",
		9: "LOCAL_TRACKS",
	}
	PlayerQueue_EntityType_value = map[string]int32{
		"UNSPECIFIED":  0,
		"ARTIST":       1,
		"PLAYLIST":     2,
		"ALBUM":        3,
		"RADIO":        4,
		"VARIOUS":      5,
		"GENERATIVE":   6,
		"FM_RADIO":     7,
		"VIDEO_WAVE":   8,
		"LOCAL_TRACKS": 9,
	}
)

Enum value maps for PlayerQueue_EntityType.

View Source
var (
	PlayerQueue_EntityContext_name = map[int32]string{
		0: "BASED_ON_ENTITY_BY_DEFAULT",
		1: "USER_TRACKS",
		2: "DOWNLOADED_TRACKS",
		3: "SEARCH",
		4: "MUSIC_HISTORY",
		5: "MUSIC_HISTORY_SEARCH",
		6: "ARTIST_MY_COLLECTION",
		7: "ARTIST_FAMILIAR_FROM_WAVE",
	}
	PlayerQueue_EntityContext_value = map[string]int32{
		"BASED_ON_ENTITY_BY_DEFAULT": 0,
		"USER_TRACKS":                1,
		"DOWNLOADED_TRACKS":          2,
		"SEARCH":                     3,
		"MUSIC_HISTORY":              4,
		"MUSIC_HISTORY_SEARCH":       5,
		"ARTIST_MY_COLLECTION":       6,
		"ARTIST_FAMILIAR_FROM_WAVE":  7,
	}
)

Enum value maps for PlayerQueue_EntityContext.

View Source
var (
	PlayerStateOptions_RepeatMode_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "NONE",
		2: "ONE",
		3: "ALL",
	}
	PlayerStateOptions_RepeatMode_value = map[string]int32{
		"UNSPECIFIED": 0,
		"NONE":        1,
		"ONE":         2,
		"ALL":         3,
	}
)

Enum value maps for PlayerStateOptions_RepeatMode.

View Source
var (
	PutYnisonStateRequest_ActivityInterceptionType_name = map[int32]string{
		0: "DO_NOT_INTERCEPT_BY_DEFAULT",
		1: "INTERCEPT_IF_NO_ONE_ACTIVE",
		2: "INTERCEPT_EAGER",
	}
	PutYnisonStateRequest_ActivityInterceptionType_value = map[string]int32{
		"DO_NOT_INTERCEPT_BY_DEFAULT": 0,
		"INTERCEPT_IF_NO_ONE_ACTIVE":  1,
		"INTERCEPT_EAGER":             2,
	}
)

Enum value maps for PutYnisonStateRequest_ActivityInterceptionType.

View Source
var File_ynisonstate_device_info_header_proto protoreflect.FileDescriptor
View Source
var File_ynisonstate_device_proto protoreflect.FileDescriptor
View Source
var File_ynisonstate_device_type_proto protoreflect.FileDescriptor
View Source
var File_ynisonstate_playable_proto protoreflect.FileDescriptor
View Source
var File_ynisonstate_player_queue_inject_proto protoreflect.FileDescriptor
View Source
var File_ynisonstate_player_state_proto protoreflect.FileDescriptor
View Source
var File_ynisonstate_playing_status_proto protoreflect.FileDescriptor
View Source
var File_ynisonstate_queue_proto protoreflect.FileDescriptor
View Source
var File_ynisonstate_update_version_proto protoreflect.FileDescriptor
View Source
var File_ynisonstate_ynison_state_proto protoreflect.FileDescriptor
View Source
var YnisonStateService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "ynison_state.YnisonStateService",
	HandlerType: (*YnisonStateServiceServer)(nil),
	Methods:     []grpc.MethodDesc{},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "PutYnisonState",
			Handler:       _YnisonStateService_PutYnisonState_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "ynisonstate/ynison_state.proto",
}

YnisonStateService_ServiceDesc is the grpc.ServiceDesc for YnisonStateService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterYnisonStateServiceServer

func RegisterYnisonStateServiceServer(s grpc.ServiceRegistrar, srv YnisonStateServiceServer)

Types

type Device

type Device struct {

	// Информация об устройстве.
	Info *DeviceInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	// Громкость. Устаревшее значение, смотри [volume_info].
	//
	// Deprecated: Do not use.
	Volume float64 `protobuf:"fixed64,2,opt,name=volume,proto3" json:"volume,omitempty"`
	// Настройки доступности.
	Capabilities *DeviceCapabilities `protobuf:"bytes,3,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
	// Информация о сессии. Ожидаемо уникальна для каждого отдельно инициализированного подключения.
	Session *Session `protobuf:"bytes,4,opt,name=session,proto3" json:"session,omitempty"`
	// Оффлайн ли устройство (не подключено к юнисону на данный момент).
	IsOffline bool `protobuf:"varint,5,opt,name=is_offline,json=isOffline,proto3" json:"is_offline,omitempty"`
	// Состояние громкости устройства вместе с информацией о последнем устройстве, изменившим её.
	VolumeInfo *DeviceVolume `protobuf:"bytes,6,opt,name=volume_info,json=volumeInfo,proto3" json:"volume_info,omitempty"`
	// contains filtered or unexported fields
}

Устройство.

func (*Device) Descriptor deprecated

func (*Device) Descriptor() ([]byte, []int)

Deprecated: Use Device.ProtoReflect.Descriptor instead.

func (*Device) GetCapabilities

func (x *Device) GetCapabilities() *DeviceCapabilities

func (*Device) GetInfo

func (x *Device) GetInfo() *DeviceInfo

func (*Device) GetIsOffline

func (x *Device) GetIsOffline() bool

func (*Device) GetSession

func (x *Device) GetSession() *Session

func (*Device) GetVolume deprecated

func (x *Device) GetVolume() float64

Deprecated: Do not use.

func (*Device) GetVolumeInfo

func (x *Device) GetVolumeInfo() *DeviceVolume

func (*Device) ProtoMessage

func (*Device) ProtoMessage()

func (*Device) ProtoReflect

func (x *Device) ProtoReflect() protoreflect.Message

func (*Device) Reset

func (x *Device) Reset()

func (*Device) String

func (x *Device) String() string

type DeviceCapabilities

type DeviceCapabilities struct {

	// Может ли устройство быть активным и проигрывать сущности.
	CanBePlayer bool `protobuf:"varint,1,opt,name=can_be_player,json=canBePlayer,proto3" json:"can_be_player,omitempty"`
	// Может ли устройство быть пультом.
	CanBeRemoteController bool `` /* 129-byte string literal not displayed */
	// Максимальное количество делений на шкале громкости для управления этим устройством:
	// * 0 - если устройство не поддерживает удаленный контроль громкости
	// * N - если устройство поддерживает удаленный контроль громкости
	//
	// Допустимы значения в диапазоне [0, 1000]
	// Девайсы в режиме пульта обязуются рисовать контрол управления равный N (либо такой, которому пропорционально заданное N)
	//
	// Пример: Телевизор поддерживает 20 делений
	// * Телефон может нарисовать шкалу на 20 делений: [0.05, 0.10, ..., 0.95, 1.00]
	// * Телефон может нарисовать шкалу на 10 делений: [0.10, 0.20, ..., 0.90, 1.00]
	// * Телефон НЕ может рисовать шкалу на 16 делений: [0.0625, 0.125, ..., 0.9375, 1.00]
	// * Телефон НЕ может рисовать шкалу на 100 делений: [0.01, 0.02, ..., 0.99, 1.00]
	//
	// Если не соблюдать эти требования, телевизор не сможет применить значение корректно.
	// * больший шаг может привести к ошибке округления и лишнему (ответному) сообщению от приемника
	// * меньшей шаг может привести к неприменению громкостей, округляющихся к одному значению
	VolumeGranularity uint32 `protobuf:"varint,3,opt,name=volume_granularity,json=volumeGranularity,proto3" json:"volume_granularity,omitempty"`
	// contains filtered or unexported fields
}

Настройки доступности устройства.

func (*DeviceCapabilities) Descriptor deprecated

func (*DeviceCapabilities) Descriptor() ([]byte, []int)

Deprecated: Use DeviceCapabilities.ProtoReflect.Descriptor instead.

func (*DeviceCapabilities) GetCanBePlayer

func (x *DeviceCapabilities) GetCanBePlayer() bool

func (*DeviceCapabilities) GetCanBeRemoteController

func (x *DeviceCapabilities) GetCanBeRemoteController() bool

func (*DeviceCapabilities) GetVolumeGranularity

func (x *DeviceCapabilities) GetVolumeGranularity() uint32

func (*DeviceCapabilities) ProtoMessage

func (*DeviceCapabilities) ProtoMessage()

func (*DeviceCapabilities) ProtoReflect

func (x *DeviceCapabilities) ProtoReflect() protoreflect.Message

func (*DeviceCapabilities) Reset

func (x *DeviceCapabilities) Reset()

func (*DeviceCapabilities) String

func (x *DeviceCapabilities) String() string

type DeviceInfo

type DeviceInfo struct {

	// device id устройства.
	DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Название устройства.
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// Тип устройства.
	Type DeviceType `protobuf:"varint,3,opt,name=type,proto3,enum=ynison_state.DeviceType" json:"type,omitempty"`
	// Информация о клиентском приложении подключенного устройства
	AppName string `protobuf:"bytes,4,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"`
	// Информация о версии клиентского приложения подключенного устройства
	AppVersion string `protobuf:"bytes,5,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"`
	// contains filtered or unexported fields
}

Информация об устройстве.

func (*DeviceInfo) Descriptor deprecated

func (*DeviceInfo) Descriptor() ([]byte, []int)

Deprecated: Use DeviceInfo.ProtoReflect.Descriptor instead.

func (*DeviceInfo) GetAppName

func (x *DeviceInfo) GetAppName() string

func (*DeviceInfo) GetAppVersion

func (x *DeviceInfo) GetAppVersion() string

func (*DeviceInfo) GetDeviceId

func (x *DeviceInfo) GetDeviceId() string

func (*DeviceInfo) GetTitle

func (x *DeviceInfo) GetTitle() string

func (*DeviceInfo) GetType

func (x *DeviceInfo) GetType() DeviceType

func (*DeviceInfo) ProtoMessage

func (*DeviceInfo) ProtoMessage()

func (*DeviceInfo) ProtoReflect

func (x *DeviceInfo) ProtoReflect() protoreflect.Message

func (*DeviceInfo) Reset

func (x *DeviceInfo) Reset()

func (*DeviceInfo) String

func (x *DeviceInfo) String() string

type DeviceType

type DeviceType int32
const (
	DeviceType_UNSPECIFIED DeviceType = 0
	// Браузер.
	DeviceType_WEB DeviceType = 1
	// Android-телефон/планшет.
	DeviceType_ANDROID DeviceType = 2
	// iOS-телефон/планшет.
	DeviceType_IOS DeviceType = 3
	// Умная колонка.
	DeviceType_SMART_SPEAKER DeviceType = 4
	// Web-телевизор.
	DeviceType_WEB_TV DeviceType = 5
	// Android-телевизор.
	DeviceType_ANDROID_TV DeviceType = 6
	// Apple-телевизор.
	DeviceType_APPLE_TV DeviceType = 7
)

func (DeviceType) Descriptor

func (DeviceType) Descriptor() protoreflect.EnumDescriptor

func (DeviceType) Enum

func (x DeviceType) Enum() *DeviceType

func (DeviceType) EnumDescriptor deprecated

func (DeviceType) EnumDescriptor() ([]byte, []int)

Deprecated: Use DeviceType.Descriptor instead.

func (DeviceType) Number

func (x DeviceType) Number() protoreflect.EnumNumber

func (DeviceType) String

func (x DeviceType) String() string

func (DeviceType) Type

type DeviceVolume

type DeviceVolume struct {

	// Громкость. Значения в интервале [0.0; 1.0]
	//
	// Значение тесно связано с [DeviceCapabilities.volume_granularity].
	// Ожидается округление мантиссы до 4 знаков при делении 1.0 на число шагов шкалы громкости
	//
	// Пример:
	// * шкала в 16 делений: [0.0625, 0.125, ..., 0.9375, 1.00]
	// * шкала в 13 делений: [0.0769, 0.1538, ..., 0.9230, 0.9997]
	//
	// Обратные вычисления:
	// * шкала в 16 делений: round(0.9375 * 16) = 15 (15.0)
	// * шкала в 13 делений: round(0.9230 * 13) = 12 (11.9999)
	Volume float64 `protobuf:"fixed64,1,opt,name=volume,proto3" json:"volume,omitempty"`
	// Версия последнего изменения громкости устройства.
	Version *UpdateVersion `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

func (*DeviceVolume) Descriptor deprecated

func (*DeviceVolume) Descriptor() ([]byte, []int)

Deprecated: Use DeviceVolume.ProtoReflect.Descriptor instead.

func (*DeviceVolume) GetVersion

func (x *DeviceVolume) GetVersion() *UpdateVersion

func (*DeviceVolume) GetVolume

func (x *DeviceVolume) GetVolume() float64

func (*DeviceVolume) ProtoMessage

func (*DeviceVolume) ProtoMessage()

func (*DeviceVolume) ProtoReflect

func (x *DeviceVolume) ProtoReflect() protoreflect.Message

func (*DeviceVolume) Reset

func (x *DeviceVolume) Reset()

func (*DeviceVolume) String

func (x *DeviceVolume) String() string

type Playable

type Playable struct {

	// Идентификатор сущности.
	PlayableId string `protobuf:"bytes,1,opt,name=playable_id,json=playableId,proto3" json:"playable_id,omitempty"`
	// Опциональный идентификатор альбома.
	// Используется для составного идентификатора playable при playable_type == .TRACK.
	//
	// TODO: Нужен рефакторинг с переходом на oneof для типов playable и идентификаторов,
	// относящихся к этим типам.
	AlbumIdOptional *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=album_id_optional,json=albumIdOptional,proto3" json:"album_id_optional,omitempty"`
	// Тип сущности.
	PlayableType Playable_PlayableType `` /* 138-byte string literal not displayed */
	// Фром для play-audio.
	From string `protobuf:"bytes,4,opt,name=from,proto3" json:"from,omitempty"`
	// Заголовок.
	Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
	// Опциональная ссылка на обложку.
	// Может содержать плейсхолдер для размера в аватарнице.
	CoverUrlOptional *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=cover_url_optional,json=coverUrlOptional,proto3" json:"cover_url_optional,omitempty"`
	// Дополнительные параметры плейабла, зависит от типа плейабла
	//
	// Types that are assignable to AdditionalInfoOptional:
	//
	//	*Playable_VideoClipInfo
	//	*Playable_TrackInfo
	AdditionalInfoOptional isPlayable_AdditionalInfoOptional `protobuf_oneof:"additional_info_optional"`
	// contains filtered or unexported fields
}

Проигрываемая сущность. Может быть треком, видео и т.п.

func (*Playable) Descriptor deprecated

func (*Playable) Descriptor() ([]byte, []int)

Deprecated: Use Playable.ProtoReflect.Descriptor instead.

func (*Playable) GetAdditionalInfoOptional

func (m *Playable) GetAdditionalInfoOptional() isPlayable_AdditionalInfoOptional

func (*Playable) GetAlbumIdOptional

func (x *Playable) GetAlbumIdOptional() *wrapperspb.StringValue

func (*Playable) GetCoverUrlOptional

func (x *Playable) GetCoverUrlOptional() *wrapperspb.StringValue

func (*Playable) GetFrom

func (x *Playable) GetFrom() string

func (*Playable) GetPlayableId

func (x *Playable) GetPlayableId() string

func (*Playable) GetPlayableType

func (x *Playable) GetPlayableType() Playable_PlayableType

func (*Playable) GetTitle

func (x *Playable) GetTitle() string

func (*Playable) GetTrackInfo

func (x *Playable) GetTrackInfo() *TrackInfo

func (*Playable) GetVideoClipInfo

func (x *Playable) GetVideoClipInfo() *VideoClipInfo

func (*Playable) ProtoMessage

func (*Playable) ProtoMessage()

func (*Playable) ProtoReflect

func (x *Playable) ProtoReflect() protoreflect.Message

func (*Playable) Reset

func (x *Playable) Reset()

func (*Playable) String

func (x *Playable) String() string

type Playable_PlayableType

type Playable_PlayableType int32
const (
	Playable_UNSPECIFIED Playable_PlayableType = 0
	Playable_TRACK       Playable_PlayableType = 1
	// Локальный файл.
	Playable_LOCAL_TRACK Playable_PlayableType = 2
	// "Бесконечный" трек. Например, для генеративки или fm-радио.
	Playable_INFINITE Playable_PlayableType = 3
	// Видео клип
	Playable_VIDEO_CLIP Playable_PlayableType = 4
)

func (Playable_PlayableType) Descriptor

func (Playable_PlayableType) Enum

func (Playable_PlayableType) EnumDescriptor deprecated

func (Playable_PlayableType) EnumDescriptor() ([]byte, []int)

Deprecated: Use Playable_PlayableType.Descriptor instead.

func (Playable_PlayableType) Number

func (Playable_PlayableType) String

func (x Playable_PlayableType) String() string

func (Playable_PlayableType) Type

type Playable_TrackInfo

type Playable_TrackInfo struct {
	TrackInfo *TrackInfo `protobuf:"bytes,8,opt,name=track_info,json=trackInfo,proto3,oneof"`
}

type Playable_VideoClipInfo

type Playable_VideoClipInfo struct {
	VideoClipInfo *VideoClipInfo `protobuf:"bytes,7,opt,name=video_clip_info,json=videoClipInfo,proto3,oneof"`
}

type PlayerQueue

type PlayerQueue struct {

	// Идентификатор сущности.
	// Например, id альбома/плейлиста/радио и проч.
	//
	// У каждого вида сущности свой формат id. Поэтому был введён `message Queue`, в котором
	// все идентификаторы разложены в более правильную структуру.
	//
	// Старое поле будет заполнять бэкенд для совместимости со старыми клиентами, пока не примем
	// решение отключить старых клиентов (спустя 1-2 месяца после того, как последний "новый" клиент
	// поддержит эту доработку). Т.е. новый клиент должен отправлять и читать только новое поле.
	// После удаления пометить поле reserved (правило protubuf).
	//
	// Deprecated: Do not use.
	EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
	// Тип сущности.
	//
	// Структура сущностей лучшим образом представляется в иерархичной структуре через oneof, а не
	// в плоской структуре через enum. Поэтому был введён `message Queue`, в котором все сущности
	// разложены в более правильную структуру.
	//
	// Старое поле будет заполнять бэкенд для совместимости со старыми клиентами, пока не примем
	// решение отключить старых клиентов (спустя 1-2 месяца после того, как последний "новый" клиент
	// поддержит эту доработку). Т.е. новый клиент должен отправлять и читать только новое поле.
	// После удаления пометить поле reserved (правило protubuf).
	//
	// `message EntityType` удалить вместе с полем.
	//
	// Deprecated: Do not use.
	EntityType PlayerQueue_EntityType `` /* 133-byte string literal not displayed */
	Queue      *PlayerQueue_Queue     `protobuf:"bytes,12,opt,name=queue,proto3" json:"queue,omitempty"`
	// Индекс playable в очереди.
	// Используется, например, для плейлиста с одинаковыми треками.
	//
	// Всегда содержит индекс сущности из оригинального списка `playable_list`.
	CurrentPlayableIndex int32 `protobuf:"varint,3,opt,name=current_playable_index,json=currentPlayableIndex,proto3" json:"current_playable_index,omitempty"` // int32 (вместо uint32) чтобы можно было задать -1, когда playable_list пустой
	// Список сущностей в очереди.
	PlayableList []*Playable `protobuf:"bytes,4,rep,name=playable_list,json=playableList,proto3" json:"playable_list,omitempty"`
	// Настройки плеера.
	Options *PlayerStateOptions `protobuf:"bytes,5,opt,name=options,proto3" json:"options,omitempty"`
	// Версия последнего изменения.
	Version *UpdateVersion `protobuf:"bytes,6,opt,name=version,proto3" json:"version,omitempty"`
	// Настройки шаффла.
	// При выключенном шаффле не приходят.
	ShuffleOptional *Shuffle `protobuf:"bytes,7,opt,name=shuffle_optional,json=shuffleOptional,proto3" json:"shuffle_optional,omitempty"`
	// Контекст воспроизведения.
	//
	// Контекст применим не ко всем сущностям. Поэтому был введён `message Queue`, в котором
	// контекст применяется только к сущностям из фонотеки.
	//
	// Старое поле будет заполнять бэкенд для совместимости со старыми клиентами, пока не примем
	// решение отключить старых клиентов (спустя 1-2 месяца после того, как последний "новый" клиент
	// поддержит эту доработку). Т.е. новый клиент должен отправлять и читать только новое поле.
	// После удаления пометить поле reserved (правило protubuf).
	//
	// Deprecated: Do not use.
	EntityContext PlayerQueue_EntityContext `` /* 145-byte string literal not displayed */
	// Опциональный фром очереди.
	//
	// Используется для настройки фрома, когда его нельзя достать из списка `playable_list`.
	// Такое возможно при старте юнисона на основе единой очереди воспроизведения.
	// Если у пользователя играло радио, в ЕОВ будет пустой `playable_list`,
	// соответственно фрома не будет.
	FromOptional *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=from_optional,json=fromOptional,proto3" json:"from_optional,omitempty"`
	// Изначальный id+type сущности, которой была проинициализирована очередь
	//
	// Хранение этого поля отдельно теряет смысл с введением поддержки смешанной очереди.
	// Информацию об источнике попадания трека в очередь следует брать
	// из [WaveQueue.EntityOptions.track_sources].
	//
	// Старое поле будет заполнять бэкенд для совместимости со старыми клиентами, пока не примем
	// решение отключить старых клиентов (спустя 1-2 месяца после того, как последний "новый" клиент
	// поддержит эту доработку). Т.е. новый клиент должен отправлять и читать только новое поле.
	// После удаления пометить поле reserved (правило protubuf).
	//
	// `message InitialEntity` удалить вместе с полем.
	//
	// Deprecated: Do not use.
	InitialEntityOptional *PlayerQueue_InitialEntity `` /* 127-byte string literal not displayed */
	// Дополнительные параметры для очередей
	//
	// Теперь эта информация находится в `message Queue`.
	//
	// Старое поле будет заполнять бэкенд для совместимости со старыми клиентами, пока не примем
	// решение отключить старых клиентов (спустя 1-2 месяца после того, как последний "новый" клиент
	// поддержит эту доработку). Т.е. новый клиент должен отправлять и читать только новое поле.
	// После удаления пометить поле reserved (правило protubuf).
	//
	// `message PlayerQueueOptions` удалить вместе с полем.
	//
	// Deprecated: Do not use.
	AddingOptionsOptional *PlayerQueue_PlayerQueueOptions `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

Очередь воспроизведения.

func (*PlayerQueue) Descriptor deprecated

func (*PlayerQueue) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueue.ProtoReflect.Descriptor instead.

func (*PlayerQueue) GetAddingOptionsOptional deprecated

func (x *PlayerQueue) GetAddingOptionsOptional() *PlayerQueue_PlayerQueueOptions

Deprecated: Do not use.

func (*PlayerQueue) GetCurrentPlayableIndex

func (x *PlayerQueue) GetCurrentPlayableIndex() int32

func (*PlayerQueue) GetEntityContext deprecated

func (x *PlayerQueue) GetEntityContext() PlayerQueue_EntityContext

Deprecated: Do not use.

func (*PlayerQueue) GetEntityId deprecated

func (x *PlayerQueue) GetEntityId() string

Deprecated: Do not use.

func (*PlayerQueue) GetEntityType deprecated

func (x *PlayerQueue) GetEntityType() PlayerQueue_EntityType

Deprecated: Do not use.

func (*PlayerQueue) GetFromOptional

func (x *PlayerQueue) GetFromOptional() *wrapperspb.StringValue

func (*PlayerQueue) GetInitialEntityOptional deprecated

func (x *PlayerQueue) GetInitialEntityOptional() *PlayerQueue_InitialEntity

Deprecated: Do not use.

func (*PlayerQueue) GetOptions

func (x *PlayerQueue) GetOptions() *PlayerStateOptions

func (*PlayerQueue) GetPlayableList

func (x *PlayerQueue) GetPlayableList() []*Playable

func (*PlayerQueue) GetQueue

func (x *PlayerQueue) GetQueue() *PlayerQueue_Queue

func (*PlayerQueue) GetShuffleOptional

func (x *PlayerQueue) GetShuffleOptional() *Shuffle

func (*PlayerQueue) GetVersion

func (x *PlayerQueue) GetVersion() *UpdateVersion

func (*PlayerQueue) ProtoMessage

func (*PlayerQueue) ProtoMessage()

func (*PlayerQueue) ProtoReflect

func (x *PlayerQueue) ProtoReflect() protoreflect.Message

func (*PlayerQueue) Reset

func (x *PlayerQueue) Reset()

func (*PlayerQueue) String

func (x *PlayerQueue) String() string

type PlayerQueueInject

type PlayerQueueInject struct {

	// Статус воспроизведения.
	PlayingStatus *PlayingStatus `protobuf:"bytes,1,opt,name=playing_status,json=playingStatus,proto3" json:"playing_status,omitempty"`
	// Доп. проигрываемая сущность.
	Playable *PlayerQueueInject_Playable `protobuf:"bytes,2,opt,name=playable,proto3" json:"playable,omitempty"`
	// Версия последнего изменения состояния.
	Version *UpdateVersion `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

Состояние проигрывания ижектируемой в очередь сущности. Инжектироваться может шот, преролл и проч.

func (*PlayerQueueInject) Descriptor deprecated

func (*PlayerQueueInject) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueueInject.ProtoReflect.Descriptor instead.

func (*PlayerQueueInject) GetPlayable

func (*PlayerQueueInject) GetPlayingStatus

func (x *PlayerQueueInject) GetPlayingStatus() *PlayingStatus

func (*PlayerQueueInject) GetVersion

func (x *PlayerQueueInject) GetVersion() *UpdateVersion

func (*PlayerQueueInject) ProtoMessage

func (*PlayerQueueInject) ProtoMessage()

func (*PlayerQueueInject) ProtoReflect

func (x *PlayerQueueInject) ProtoReflect() protoreflect.Message

func (*PlayerQueueInject) Reset

func (x *PlayerQueueInject) Reset()

func (*PlayerQueueInject) String

func (x *PlayerQueueInject) String() string

type PlayerQueueInject_Playable

type PlayerQueueInject_Playable struct {

	// Идентификатор сущности.
	PlayableId string `protobuf:"bytes,1,opt,name=playable_id,json=playableId,proto3" json:"playable_id,omitempty"`
	// Тип сущности.
	PlayableType PlayerQueueInject_Playable_PlayableType `` /* 156-byte string literal not displayed */
	// Заголовок.
	Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	// Опциональная ссылка на обложку.
	// Может содержать плейсхолдер для размера в аватарнице.
	CoverUrl *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"`
	// contains filtered or unexported fields
}

func (*PlayerQueueInject_Playable) Descriptor deprecated

func (*PlayerQueueInject_Playable) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueueInject_Playable.ProtoReflect.Descriptor instead.

func (*PlayerQueueInject_Playable) GetCoverUrl

func (*PlayerQueueInject_Playable) GetPlayableId

func (x *PlayerQueueInject_Playable) GetPlayableId() string

func (*PlayerQueueInject_Playable) GetPlayableType

func (*PlayerQueueInject_Playable) GetTitle

func (x *PlayerQueueInject_Playable) GetTitle() string

func (*PlayerQueueInject_Playable) ProtoMessage

func (*PlayerQueueInject_Playable) ProtoMessage()

func (*PlayerQueueInject_Playable) ProtoReflect

func (*PlayerQueueInject_Playable) Reset

func (x *PlayerQueueInject_Playable) Reset()

func (*PlayerQueueInject_Playable) String

func (x *PlayerQueueInject_Playable) String() string

type PlayerQueueInject_Playable_PlayableType

type PlayerQueueInject_Playable_PlayableType int32
const (
	PlayerQueueInject_Playable_UNSPECIFIED PlayerQueueInject_Playable_PlayableType = 0
	PlayerQueueInject_Playable_ALICE_SHOT  PlayerQueueInject_Playable_PlayableType = 1
	PlayerQueueInject_Playable_AD          PlayerQueueInject_Playable_PlayableType = 2
	PlayerQueueInject_Playable_PREROLL     PlayerQueueInject_Playable_PlayableType = 3
)

func (PlayerQueueInject_Playable_PlayableType) Descriptor

func (PlayerQueueInject_Playable_PlayableType) Enum

func (PlayerQueueInject_Playable_PlayableType) EnumDescriptor deprecated

func (PlayerQueueInject_Playable_PlayableType) EnumDescriptor() ([]byte, []int)

Deprecated: Use PlayerQueueInject_Playable_PlayableType.Descriptor instead.

func (PlayerQueueInject_Playable_PlayableType) Number

func (PlayerQueueInject_Playable_PlayableType) String

func (PlayerQueueInject_Playable_PlayableType) Type

type PlayerQueue_EntityContext

type PlayerQueue_EntityContext int32

Дополнительная информация для источника трека, используется для уточнения места откуда этот трек взят

const (
	// Трек взят напрямую из сущности
	// - плейлист
	// - альбом
	// - популярные треки артиста
	PlayerQueue_BASED_ON_ENTITY_BY_DEFAULT PlayerQueue_EntityContext = 0
	// Трек взят из раздела "Треки" в коллекции
	// Используется только для неизвестного (unspecified) источника
	PlayerQueue_USER_TRACKS PlayerQueue_EntityContext = 1
	// Трек взят из раздела "Скачанные треки"
	// Используется только для неизвестного (unspecified) источника
	PlayerQueue_DOWNLOADED_TRACKS PlayerQueue_EntityContext = 2
	// Трек взят из поиска
	// Используется только для неизвестного (unspecified) источника
	PlayerQueue_SEARCH PlayerQueue_EntityContext = 3
	// Трек взят из истории прослушивания:
	// - когда источник плейлист
	// - когда источник альбом
	// - когда источник артист
	// - для неизвестного (unspecified) источника с вкладки "Слушали вперемешку"
	PlayerQueue_MUSIC_HISTORY PlayerQueue_EntityContext = 4
	// Трек взят из истории прослушивания c вкладки "Результаты поиска", используется только для неизвестного (unspecified) источника
	PlayerQueue_MUSIC_HISTORY_SEARCH PlayerQueue_EntityContext = 5
	// Трек взят с экрана "Знакомое вам" c вкладки "У вас в Коллекции"
	// Используется только для источника артиста
	PlayerQueue_ARTIST_MY_COLLECTION PlayerQueue_EntityContext = 6
	// Трек взят с экрана "Знакомое вам" c вкладки "Слушали в моей волне"
	// Используется только для источника артиста
	PlayerQueue_ARTIST_FAMILIAR_FROM_WAVE PlayerQueue_EntityContext = 7
)

func (PlayerQueue_EntityContext) Descriptor

func (PlayerQueue_EntityContext) Enum

func (PlayerQueue_EntityContext) EnumDescriptor deprecated

func (PlayerQueue_EntityContext) EnumDescriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_EntityContext.Descriptor instead.

func (PlayerQueue_EntityContext) Number

func (PlayerQueue_EntityContext) String

func (x PlayerQueue_EntityContext) String() string

func (PlayerQueue_EntityContext) Type

type PlayerQueue_EntityType deprecated

type PlayerQueue_EntityType int32

Удалить вместе с полем `entity_type`. Причины описаны в комментарии к полю.

Deprecated: Do not use.

const (
	// Fallback value.
	PlayerQueue_UNSPECIFIED PlayerQueue_EntityType = 0
	// Common queue, popular tracks of an artist. Consists of [Playable.PlayableType.TRACK]
	PlayerQueue_ARTIST PlayerQueue_EntityType = 1
	// Common queue, tracks from a playlist. Consists of [Playable.PlayableType.TRACK]
	PlayerQueue_PLAYLIST PlayerQueue_EntityType = 2
	// Common queue, tracks from an album. Consists of [Playable.PlayableType.TRACK]
	PlayerQueue_ALBUM PlayerQueue_EntityType = 3
	// Dynamic radio queue, based on recommendations by station seed. Consists of [Playable.PlayableType.TRACK]
	PlayerQueue_RADIO PlayerQueue_EntityType = 4
	// Common queue, random set of tracks. Consists of [Playable.PlayableType.TRACK]
	PlayerQueue_VARIOUS PlayerQueue_EntityType = 5
	// Stream of neuro music. Consists of [Playable.PlayableType.INFINITE]
	PlayerQueue_GENERATIVE PlayerQueue_EntityType = 6
	// Stream of FM radio. Consists of [Playable.PlayableType.INFINITE]
	PlayerQueue_FM_RADIO PlayerQueue_EntityType = 7
	// Dynamic video clips queue, based on recommendations.
	PlayerQueue_VIDEO_WAVE PlayerQueue_EntityType = 8
	// Common queue, based on tracks located on a device file system.
	// Consists of [Playable.PlayableType.LOCAL_TRACK]
	PlayerQueue_LOCAL_TRACKS PlayerQueue_EntityType = 9
)

func (PlayerQueue_EntityType) Descriptor

func (PlayerQueue_EntityType) Enum

func (PlayerQueue_EntityType) EnumDescriptor deprecated

func (PlayerQueue_EntityType) EnumDescriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_EntityType.Descriptor instead.

func (PlayerQueue_EntityType) Number

func (PlayerQueue_EntityType) String

func (x PlayerQueue_EntityType) String() string

func (PlayerQueue_EntityType) Type

type PlayerQueue_InitialEntity deprecated

type PlayerQueue_InitialEntity struct {
	EntityId   string                 `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
	EntityType PlayerQueue_EntityType `` /* 133-byte string literal not displayed */
	// contains filtered or unexported fields
}

Удалить вместе с полем `initial_entity_optional`. Причины описаны в комментарии к полю.

Deprecated: Do not use.

func (*PlayerQueue_InitialEntity) Descriptor deprecated

func (*PlayerQueue_InitialEntity) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_InitialEntity.ProtoReflect.Descriptor instead.

func (*PlayerQueue_InitialEntity) GetEntityId

func (x *PlayerQueue_InitialEntity) GetEntityId() string

func (*PlayerQueue_InitialEntity) GetEntityType

func (*PlayerQueue_InitialEntity) ProtoMessage

func (*PlayerQueue_InitialEntity) ProtoMessage()

func (*PlayerQueue_InitialEntity) ProtoReflect

func (*PlayerQueue_InitialEntity) Reset

func (x *PlayerQueue_InitialEntity) Reset()

func (*PlayerQueue_InitialEntity) String

func (x *PlayerQueue_InitialEntity) String() string

type PlayerQueue_PlayerQueueOptions deprecated

type PlayerQueue_PlayerQueueOptions struct {

	// Заполняемое поле зависит от entity_type текущей очереди
	//
	// Types that are assignable to Options:
	//
	//	*PlayerQueue_PlayerQueueOptions_RadioOptions_
	Options isPlayerQueue_PlayerQueueOptions_Options `protobuf_oneof:"options"`
	// contains filtered or unexported fields
}

Удалить вместе с полем `adding_options_optional`. Причины описаны в комментарии к полю.

Deprecated: Do not use.

func (*PlayerQueue_PlayerQueueOptions) Descriptor deprecated

func (*PlayerQueue_PlayerQueueOptions) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_PlayerQueueOptions.ProtoReflect.Descriptor instead.

func (*PlayerQueue_PlayerQueueOptions) GetOptions

func (m *PlayerQueue_PlayerQueueOptions) GetOptions() isPlayerQueue_PlayerQueueOptions_Options

func (*PlayerQueue_PlayerQueueOptions) GetRadioOptions

func (*PlayerQueue_PlayerQueueOptions) ProtoMessage

func (*PlayerQueue_PlayerQueueOptions) ProtoMessage()

func (*PlayerQueue_PlayerQueueOptions) ProtoReflect

func (*PlayerQueue_PlayerQueueOptions) Reset

func (x *PlayerQueue_PlayerQueueOptions) Reset()

func (*PlayerQueue_PlayerQueueOptions) String

type PlayerQueue_PlayerQueueOptions_RadioOptions

type PlayerQueue_PlayerQueueOptions_RadioOptions struct {
	SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// contains filtered or unexported fields
}

Для entity_type = RADIO(4) Информация о волновой очереди теперь находится в [WaveQueue.EntityOptions.wave_entity_optional].

func (*PlayerQueue_PlayerQueueOptions_RadioOptions) Descriptor deprecated

Deprecated: Use PlayerQueue_PlayerQueueOptions_RadioOptions.ProtoReflect.Descriptor instead.

func (*PlayerQueue_PlayerQueueOptions_RadioOptions) GetSessionId

func (*PlayerQueue_PlayerQueueOptions_RadioOptions) ProtoMessage

func (*PlayerQueue_PlayerQueueOptions_RadioOptions) ProtoReflect

func (*PlayerQueue_PlayerQueueOptions_RadioOptions) Reset

func (*PlayerQueue_PlayerQueueOptions_RadioOptions) String

type PlayerQueue_PlayerQueueOptions_RadioOptions_

type PlayerQueue_PlayerQueueOptions_RadioOptions_ struct {
	RadioOptions *PlayerQueue_PlayerQueueOptions_RadioOptions `protobuf:"bytes,1,opt,name=radio_options,json=radioOptions,proto3,oneof"`
}

type PlayerQueue_Queue

type PlayerQueue_Queue struct {

	// Types that are assignable to Type:
	//
	//	*PlayerQueue_Queue_WaveQueue_
	//	*PlayerQueue_Queue_GenerativeQueue_
	//	*PlayerQueue_Queue_FmRadioQueue_
	//	*PlayerQueue_Queue_VideoWaveQueue_
	//	*PlayerQueue_Queue_LocalTracksQueue_
	Type isPlayerQueue_Queue_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

Структура: Каждому виду очередей соотвествует один из типов [Playable.PlayableType]. Каждому плеяблу с типом [Playable.PlayableType.TRACK] соотвествует сущность из таблицы сущностей (См. [Queue.WaveQueue.EntityOptions])

Очереди не имеет универсального идентификатора. Вместо этого каждая очередь сама решает, что будет её идентифицировать (См. [Queue.type]).

func (*PlayerQueue_Queue) Descriptor deprecated

func (*PlayerQueue_Queue) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_Queue.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue) GetFmRadioQueue

func (x *PlayerQueue_Queue) GetFmRadioQueue() *PlayerQueue_Queue_FmRadioQueue

func (*PlayerQueue_Queue) GetGenerativeQueue

func (x *PlayerQueue_Queue) GetGenerativeQueue() *PlayerQueue_Queue_GenerativeQueue

func (*PlayerQueue_Queue) GetLocalTracksQueue

func (x *PlayerQueue_Queue) GetLocalTracksQueue() *PlayerQueue_Queue_LocalTracksQueue

func (*PlayerQueue_Queue) GetType

func (m *PlayerQueue_Queue) GetType() isPlayerQueue_Queue_Type

func (*PlayerQueue_Queue) GetVideoWaveQueue

func (x *PlayerQueue_Queue) GetVideoWaveQueue() *PlayerQueue_Queue_VideoWaveQueue

func (*PlayerQueue_Queue) GetWaveQueue

func (*PlayerQueue_Queue) ProtoMessage

func (*PlayerQueue_Queue) ProtoMessage()

func (*PlayerQueue_Queue) ProtoReflect

func (x *PlayerQueue_Queue) ProtoReflect() protoreflect.Message

func (*PlayerQueue_Queue) Reset

func (x *PlayerQueue_Queue) Reset()

func (*PlayerQueue_Queue) String

func (x *PlayerQueue_Queue) String() string

type PlayerQueue_Queue_FmRadioQueue

type PlayerQueue_Queue_FmRadioQueue struct {

	// Идентификатор потока
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

Поток ФМ-радио. Состоит из одного [Playable.PlayableType.INFINITE]

func (*PlayerQueue_Queue_FmRadioQueue) Descriptor deprecated

func (*PlayerQueue_Queue_FmRadioQueue) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_Queue_FmRadioQueue.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_FmRadioQueue) GetId

func (*PlayerQueue_Queue_FmRadioQueue) ProtoMessage

func (*PlayerQueue_Queue_FmRadioQueue) ProtoMessage()

func (*PlayerQueue_Queue_FmRadioQueue) ProtoReflect

func (*PlayerQueue_Queue_FmRadioQueue) Reset

func (x *PlayerQueue_Queue_FmRadioQueue) Reset()

func (*PlayerQueue_Queue_FmRadioQueue) String

type PlayerQueue_Queue_FmRadioQueue_

type PlayerQueue_Queue_FmRadioQueue_ struct {
	FmRadioQueue *PlayerQueue_Queue_FmRadioQueue `protobuf:"bytes,3,opt,name=fm_radio_queue,json=fmRadioQueue,proto3,oneof"`
}

type PlayerQueue_Queue_GenerativeQueue

type PlayerQueue_Queue_GenerativeQueue struct {

	// Идентификатор потока
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

Поток нейромузыки. Состоит из одного [Playable.PlayableType.INFINITE]

func (*PlayerQueue_Queue_GenerativeQueue) Descriptor deprecated

func (*PlayerQueue_Queue_GenerativeQueue) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_Queue_GenerativeQueue.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_GenerativeQueue) GetId

func (*PlayerQueue_Queue_GenerativeQueue) ProtoMessage

func (*PlayerQueue_Queue_GenerativeQueue) ProtoMessage()

func (*PlayerQueue_Queue_GenerativeQueue) ProtoReflect

func (*PlayerQueue_Queue_GenerativeQueue) Reset

func (*PlayerQueue_Queue_GenerativeQueue) String

type PlayerQueue_Queue_GenerativeQueue_

type PlayerQueue_Queue_GenerativeQueue_ struct {
	GenerativeQueue *PlayerQueue_Queue_GenerativeQueue `protobuf:"bytes,2,opt,name=generative_queue,json=generativeQueue,proto3,oneof"`
}

type PlayerQueue_Queue_LocalTracksQueue

type PlayerQueue_Queue_LocalTracksQueue struct {
	// contains filtered or unexported fields
}

Очередь треков с утройства [Playable.PlayableType.LOCAL_TRACK]. Такую очередь нельзя перенести через Юнисон на другое устройство, но можно отобазить простейший пульт. Локальные треки не могут быть перемешаны с обычными треками [Playable.PlayableType.TRACK].

func (*PlayerQueue_Queue_LocalTracksQueue) Descriptor deprecated

func (*PlayerQueue_Queue_LocalTracksQueue) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_Queue_LocalTracksQueue.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_LocalTracksQueue) ProtoMessage

func (*PlayerQueue_Queue_LocalTracksQueue) ProtoMessage()

func (*PlayerQueue_Queue_LocalTracksQueue) ProtoReflect

func (*PlayerQueue_Queue_LocalTracksQueue) Reset

func (*PlayerQueue_Queue_LocalTracksQueue) String

type PlayerQueue_Queue_LocalTracksQueue_

type PlayerQueue_Queue_LocalTracksQueue_ struct {
	LocalTracksQueue *PlayerQueue_Queue_LocalTracksQueue `protobuf:"bytes,5,opt,name=local_tracks_queue,json=localTracksQueue,proto3,oneof"`
}

type PlayerQueue_Queue_VideoWaveQueue

type PlayerQueue_Queue_VideoWaveQueue struct {

	// Идентификатор очереди. Это произвольная строка, не имеющая какой-то строгой
	// структуры или связи с БД на бэкенде. Значение может быть "default", "other",
	// "search:${clipId}", "${albumId}".
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

Рекомендательная очередь видео-клипов. Состоит из [Playable.PlayableTypeVIDEO_CLIP]

func (*PlayerQueue_Queue_VideoWaveQueue) Descriptor deprecated

func (*PlayerQueue_Queue_VideoWaveQueue) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_Queue_VideoWaveQueue.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_VideoWaveQueue) GetId

func (*PlayerQueue_Queue_VideoWaveQueue) ProtoMessage

func (*PlayerQueue_Queue_VideoWaveQueue) ProtoMessage()

func (*PlayerQueue_Queue_VideoWaveQueue) ProtoReflect

func (*PlayerQueue_Queue_VideoWaveQueue) Reset

func (*PlayerQueue_Queue_VideoWaveQueue) String

type PlayerQueue_Queue_VideoWaveQueue_

type PlayerQueue_Queue_VideoWaveQueue_ struct {
	VideoWaveQueue *PlayerQueue_Queue_VideoWaveQueue `protobuf:"bytes,4,opt,name=video_wave_queue,json=videoWaveQueue,proto3,oneof"`
}

type PlayerQueue_Queue_WaveQueue

type PlayerQueue_Queue_WaveQueue struct {

	// Непрослушанные рекомендованные треки.
	//
	// У таких треков следует передавать batch_id (см. [TrackInfo.batch_id]).
	//
	// Список может быть непустым только если
	// заполнено [EntityOptions.wave_entity_optional].
	//
	// Есть нюанс, что в `playable_list` в конце, при наличии, лежит один первый
	// рекомендованный трек. Это историческая логика, которая позволяет отображать
	// обложку следующего трека в плеере. Так что первый трек из `recommended_playable_list`
	// будет дублем последнего трека из `playable_list` (при наличии такого трека).
	//
	// При конвертации deprecated стейта в новый, либо переданном пустом списке, бэкенд
	// должен заполнить `recommended_playable_list` одним или нулём треков по следующему
	// алгоритму:
	// 1. Если последний трек из `playable_list` существует и `current_playable_index`
	// не равен `playable_list.size - 1` (текущий индекс не равен индексу последнего трека),
	// то в `recommended_playable_list` должен быть сложен этот последний трек.
	// 2. В противном случае, `recommended_playable_list` должен оставаться пустым.
	//
	// При конвертации нового стейта в deprecated стейт, дополнительно ничего
	// делать не требуется, т.к. клиенты учитывают нюанс формирования `playable_list`.
	RecommendedPlayableList []*Playable `` /* 132-byte string literal not displayed */
	// Индекс последнего прослушанного трека в состоянии "с рекомендательными треками".
	// Индекс потенциального рекомендательного трека в состоянии "без рекомендательных
	// треков".
	// Другими словами, крайний трек перед добавленными или рекомендованными треками в
	// состоянии "с рекомендательными треками".
	//
	// Например (в состоянии "с рекомендательными треками"):
	// 1. Есть очередь из треков ["0", "1", "2"], все прослушаны. Текущий трек "2".
	// `live_playable_index` равен 2.
	// 2. Есть очередь из треков ["0", "1", "2"], все прослушаны. Текущий трек "2".
	// Ставим "играть следующим" трек "3a". Очередь теперь ["0", "1", "2", "3a"].
	// `live_playable_index` останется равен 2, т.к. трек "3a" ещё не прослушан.
	// 3. Есть очередь из треков ["0", "1", "2"], все прослушаны. Текущий трек "1".
	// Ставим "играть следующим" трек "3a". Очередь теперь ["0", "1", "3a", "2"].
	// `live_playable_index` будет равен 3, т.к. последний прослушанный трек "2" сдвинулся.
	// 4. Очередь пуста - `live_playable_index` равен -1.
	//
	// Валидным индексом считается:
	// 1. В состоянии "с рекомендательными треками" -
	// `live_playable_index in [current_playable_index, playable_list.size)`
	// 2. В состоянии "без рекомендательных треков" -
	// `live_playable_index == playable_list.size`
	// 3. Значение по умолчанию - 0.
	//
	// При конвертации deprecated стейта в новый, либо при переданном значении поля `0`:
	// 1. В состоянии "с рекомендательными треками" бэкенд должен заполнить поле значением
	// равным `playable_list.size - 2`, но не меньшим, чем `current_playable_index`,
	// т.е. возможно значение `playable_list.size - 1`.
	// 2. В состоянии "без рекомендательных треков" значение поля должно быть равно
	// `playable_list.size`, указывая на несуществующий в этом режиме потенциальный
	// рекомендательный трек, который может появиться на этой позиции при продлении очереди.
	//
	// Значение 0 будет приходить на бэкенд в двух случаях:
	// 1. При отправке стейта клиентом, который знает про `message WaveQueue`, но не знает
	// про `live_playable_index`. Здесь требуется вычисление.
	// 2. При `playable_list.size == 1` в состоянии "с рекомендательными треками". Здесь
	// вычисление не имеет смысла, т.к. результат будет равен переданному значению и
	// значению по умолчанию.
	//
	// У треков из `playable_list` следует, по возможности, передавать `batch_id`
	// (см. [TrackInfo.batch_id]).
	//
	// int32 (вместо uint32) чтобы можно было задать -1, когда `playable_list` пустой.
	LivePlayableIndex int32 `protobuf:"varint,2,opt,name=live_playable_index,json=livePlayableIndex,proto3" json:"live_playable_index,omitempty"`
	// Параметры сущностей для смешанной трековой очереди.
	//
	// Волновая очередь by design становится смешанной и забирает под себя все COMMON очереди,
	// т.к. они по функциональности становятся её подмножеством и держать их отдельно
	// смысл пропадает.
	EntityOptions *PlayerQueue_Queue_WaveQueue_EntityOptions `protobuf:"bytes,3,opt,name=entity_options,json=entityOptions,proto3" json:"entity_options,omitempty"`
	// contains filtered or unexported fields
}

Очередь состоит из [Playable.PlayableType.TRACK]. Автоматически продляется в случае, если треки закончились. Поддерживает действия "Скип", "Лайк/Дизлайк", "Играть следующим", "Добавить в очередь", "Удалить", "Переместить", "Повтор трека". В общем, все действия, которые поддерживала COMMON очередь.

Может находиться в двух состояниях: 1. Играли только треки фонотечных сущностей (исполнитель, плейлист, альбом), но еще не были запрошены рекомендательные треки. 2. Рекомендательные треки были запрошены.

В состоянии "без рекомендательных треков" очередь не имеет единого строкового идентификатора, т.к. состоит из треков разных сущностей. Для различения таких очередей друг от друга следует использовать [PlayerQueue.playable_list] и [WaveQueue.EntityOptions]. Как ранее было в VARIOUS. В состоянии "без рекомендательных треков" значение поля [WaveQueue.EntityOptions.wave_entity_optional] не задано.

В состоянии "с рекомендательными треками" у очереди в таблице сущностей, в дополнение к фонотечным записям [WaveQueue.EntityOptions.PhonotekaEntity], появляется единственная и уникальная для всей очереди запись [WaveQueue.EntityOptions.WaveSession], которую можно использовать в качестве идентификатора. В этом состоянии поле [WaveQueue.EntityOptions.wave_entity_optional] заполнено.

Очередь состоит из трех частей: 1. Прослушанные треки (в `playable_list`). Есть исторический нюанс, что в `playable_list` в конце, при наличии, лежит один первый рекомендованный трек. 2. Добавленные в очередь, но не прослушанные треки (в `playable_list`) 3. Непрослушанные рекомендованные треки (в `recommended_playable_list`) [0, 1, 2, 3a, 4a, ...a, 5r, 6r, ...r], где a - добавленные в очерередь треки, r - рекомендованные.

func (*PlayerQueue_Queue_WaveQueue) Descriptor deprecated

func (*PlayerQueue_Queue_WaveQueue) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_Queue_WaveQueue.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_WaveQueue) GetEntityOptions

func (*PlayerQueue_Queue_WaveQueue) GetLivePlayableIndex

func (x *PlayerQueue_Queue_WaveQueue) GetLivePlayableIndex() int32

func (*PlayerQueue_Queue_WaveQueue) GetRecommendedPlayableList

func (x *PlayerQueue_Queue_WaveQueue) GetRecommendedPlayableList() []*Playable

func (*PlayerQueue_Queue_WaveQueue) ProtoMessage

func (*PlayerQueue_Queue_WaveQueue) ProtoMessage()

func (*PlayerQueue_Queue_WaveQueue) ProtoReflect

func (*PlayerQueue_Queue_WaveQueue) Reset

func (x *PlayerQueue_Queue_WaveQueue) Reset()

func (*PlayerQueue_Queue_WaveQueue) String

func (x *PlayerQueue_Queue_WaveQueue) String() string

type PlayerQueue_Queue_WaveQueue_

type PlayerQueue_Queue_WaveQueue_ struct {
	// Все типы очередей в виде message'ей.
	WaveQueue *PlayerQueue_Queue_WaveQueue `protobuf:"bytes,1,opt,name=wave_queue,json=waveQueue,proto3,oneof"`
}

type PlayerQueue_Queue_WaveQueue_EntityOptions

type PlayerQueue_Queue_WaveQueue_EntityOptions struct {

	// Если в рамках очереди были запрошены рекомендательные треки, то в этом поле будет
	// содержаться сущность с идентификатором rotor-сессии, который никогда не изменится
	// для данной конкретной очереди.
	// Т.е. однажды запросив рекомендательные треки, у очереди появляется [WaveSession],
	// к которой относятся все рекомендованные треки, которые есть в этой очереди.
	// Рекомендованных треков, которые относились бы сразу к нескольким [WaveSession],
	// в рамках одной очереди быть не может.
	//
	// Если поле WaveSession задано, то очередь будет бесконечно достраиваться из этой
	// rotor-сессии и ни из какой другой. До тех пор пока поле не задано, достраиваться
	// очередь не может.
	WaveEntityOptional *PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSession `protobuf:"bytes,1,opt,name=wave_entity_optional,json=waveEntityOptional,proto3" json:"wave_entity_optional,omitempty"`
	// Таблица контекстов/сущностей очереди. Для оптимизации объёма стейта.
	// Чтобы задать контекст для конкретного playable, нужно внутри playable указать
	// ключ из этой таблицы. Таким образом, повторяющиеся контексты не раздуют стейт.
	//
	// См. [Playable.TrackInfo.track_source_key]
	TrackSources []*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey `protobuf:"bytes,2,rep,name=track_sources,json=trackSources,proto3" json:"track_sources,omitempty"`
	// contains filtered or unexported fields
}

func (*PlayerQueue_Queue_WaveQueue_EntityOptions) Descriptor deprecated

func (*PlayerQueue_Queue_WaveQueue_EntityOptions) Descriptor() ([]byte, []int)

Deprecated: Use PlayerQueue_Queue_WaveQueue_EntityOptions.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_WaveQueue_EntityOptions) GetTrackSources

func (*PlayerQueue_Queue_WaveQueue_EntityOptions) GetWaveEntityOptional

func (*PlayerQueue_Queue_WaveQueue_EntityOptions) ProtoMessage

func (*PlayerQueue_Queue_WaveQueue_EntityOptions) ProtoReflect

func (*PlayerQueue_Queue_WaveQueue_EntityOptions) Reset

func (*PlayerQueue_Queue_WaveQueue_EntityOptions) String

type PlayerQueue_Queue_WaveQueue_EntityOptions_AlbumId

type PlayerQueue_Queue_WaveQueue_EntityOptions_AlbumId struct {

	// Идентификатор альбома. Идентификатор мог бы быть числовым, но по историческим
	// причинам он строковый и на бэкенде, и на клиентах. Раньше строка нужна была
	// для ugc. Можно было бы в будущем рассмотреть переход на числовой идентификатор.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_AlbumId) Descriptor deprecated

Deprecated: Use PlayerQueue_Queue_WaveQueue_EntityOptions_AlbumId.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_AlbumId) GetId

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_AlbumId) ProtoMessage

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_AlbumId) ProtoReflect

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_AlbumId) Reset

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_AlbumId) String

type PlayerQueue_Queue_WaveQueue_EntityOptions_ArtistId

type PlayerQueue_Queue_WaveQueue_EntityOptions_ArtistId struct {

	// Идентификатор исполнителя.
	// Почему строковый - смотри [PhonotekaSource.AlbumId]
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_ArtistId) Descriptor deprecated

Deprecated: Use PlayerQueue_Queue_WaveQueue_EntityOptions_ArtistId.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_ArtistId) GetId

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_ArtistId) ProtoMessage

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_ArtistId) ProtoReflect

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_ArtistId) Reset

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_ArtistId) String

type PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource

type PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource struct {

	// Идентификатор сущности - источника, к которому трек принадлежал до попадания
	// в очередь [WaveQueue].
	//
	// Types that are assignable to Id:
	//
	//	*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_ArtistId
	//	*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_PlaylistId
	//	*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_AlbumId
	Id isPlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_Id `protobuf_oneof:"id"`
	// Контекст воспроизведения.
	EntityContext PlayerQueue_EntityContext `` /* 145-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) Descriptor deprecated

Deprecated: Use PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) GetAlbumId

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) GetArtistId

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) GetEntityContext

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) GetId

func (m *PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) GetId() isPlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_Id

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) GetPlaylistId

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) ProtoMessage

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) ProtoReflect

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) Reset

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource) String

type PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_AlbumId

type PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_AlbumId struct {
	AlbumId *PlayerQueue_Queue_WaveQueue_EntityOptions_AlbumId `protobuf:"bytes,4,opt,name=album_id,json=albumId,proto3,oneof"`
}

type PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_ArtistId

type PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_ArtistId struct {
	ArtistId *PlayerQueue_Queue_WaveQueue_EntityOptions_ArtistId `protobuf:"bytes,2,opt,name=artist_id,json=artistId,proto3,oneof"`
}

type PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_PlaylistId

type PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource_PlaylistId struct {
	PlaylistId *PlayerQueue_Queue_WaveQueue_EntityOptions_PlaylistId `protobuf:"bytes,3,opt,name=playlist_id,json=playlistId,proto3,oneof"`
}

type PlayerQueue_Queue_WaveQueue_EntityOptions_PlaylistId

type PlayerQueue_Queue_WaveQueue_EntityOptions_PlaylistId struct {

	// Идентификатор плейлиста. Строковый, потому что идёт процесс отказа от
	// owner:kind. См. MUSICBACKEND-12592
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PlaylistId) Descriptor deprecated

Deprecated: Use PlayerQueue_Queue_WaveQueue_EntityOptions_PlaylistId.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PlaylistId) GetId

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PlaylistId) ProtoMessage

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PlaylistId) ProtoReflect

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PlaylistId) Reset

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_PlaylistId) String

type PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey

type PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey struct {

	// Ключ для доступа к сущности в таблице. Должен быть уникальным в рамках таблицы.
	// Стабильность не требуется, т.е. можно при каждой отправке стейта клиентом
	// генерировать ключи заново. Но в рамках одного стейта должно всё быть
	// консистентно, т.е. плеяблы должны содержать в себе корректные ключи.
	//
	// См. [Playable.TrackInfo.track_source_key]
	Key uint32 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
	// Types that are assignable to TrackSource:
	//
	//	*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey_WaveSource
	//	*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey_PhonotekaSource
	TrackSource isPlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey_TrackSource `protobuf_oneof:"track_source"`
	// contains filtered or unexported fields
}

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey) Descriptor deprecated

Deprecated: Use PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey) GetKey

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey) GetPhonotekaSource

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey) GetTrackSource

func (m *PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey) GetTrackSource() isPlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey_TrackSource

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey) GetWaveSource

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey) ProtoMessage

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey) ProtoReflect

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey) Reset

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey) String

type PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey_PhonotekaSource

type PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey_PhonotekaSource struct {
	PhonotekaSource *PlayerQueue_Queue_WaveQueue_EntityOptions_PhonotekaSource `protobuf:"bytes,3,opt,name=phonoteka_source,json=phonotekaSource,proto3,oneof"`
}

type PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey_WaveSource

type PlayerQueue_Queue_WaveQueue_EntityOptions_TrackSourceWithKey_WaveSource struct {
	WaveSource *PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSource `protobuf:"bytes,2,opt,name=wave_source,json=waveSource,proto3,oneof"`
}

type PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSession

type PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSession struct {

	// Идентификатор rotor-сессии.
	SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// contains filtered or unexported fields
}

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSession) Descriptor deprecated

Deprecated: Use PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSession.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSession) GetSessionId

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSession) ProtoMessage

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSession) ProtoReflect

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSession) Reset

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSession) String

type PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSource

type PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSource struct {
	// contains filtered or unexported fields
}

Пустой message, чтобы поле [Playable.TrackInfo.track_source_key] было не опциональным. А также на случай возможного расширения, если нужно будет поддержать треки из нескольких сессий в рамках одной очереди.

В списке [WaveQueue.track_sources] может быть не более одного [WaveSource].

Если [Playable.TrackInfo.track_source_key] указывает на [WaveSource], то это значит, что трек был получен из rotor-сессии [WaveSession].

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSource) Descriptor deprecated

Deprecated: Use PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSource.ProtoReflect.Descriptor instead.

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSource) ProtoMessage

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSource) ProtoReflect

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSource) Reset

func (*PlayerQueue_Queue_WaveQueue_EntityOptions_WaveSource) String

type PlayerState

type PlayerState struct {

	// Статус воспроизведения.
	// TODO: перенести внутрь `PlayerQueue`.
	Status *PlayingStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// Текущая очередь.
	PlayerQueue *PlayerQueue `protobuf:"bytes,2,opt,name=player_queue,json=playerQueue,proto3" json:"player_queue,omitempty"`
	// Состояние проигрывания ижектируемой в очередь сущности.
	PlayerQueueInjectOptional *PlayerQueueInject `` /* 140-byte string literal not displayed */
	// contains filtered or unexported fields
}

Состояние плеера.

func (*PlayerState) Descriptor deprecated

func (*PlayerState) Descriptor() ([]byte, []int)

Deprecated: Use PlayerState.ProtoReflect.Descriptor instead.

func (*PlayerState) GetPlayerQueue

func (x *PlayerState) GetPlayerQueue() *PlayerQueue

func (*PlayerState) GetPlayerQueueInjectOptional

func (x *PlayerState) GetPlayerQueueInjectOptional() *PlayerQueueInject

func (*PlayerState) GetStatus

func (x *PlayerState) GetStatus() *PlayingStatus

func (*PlayerState) ProtoMessage

func (*PlayerState) ProtoMessage()

func (*PlayerState) ProtoReflect

func (x *PlayerState) ProtoReflect() protoreflect.Message

func (*PlayerState) Reset

func (x *PlayerState) Reset()

func (*PlayerState) String

func (x *PlayerState) String() string

type PlayerStateOptions

type PlayerStateOptions struct {

	// Режим повтора.
	RepeatMode PlayerStateOptions_RepeatMode `` /* 140-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*PlayerStateOptions) Descriptor deprecated

func (*PlayerStateOptions) Descriptor() ([]byte, []int)

Deprecated: Use PlayerStateOptions.ProtoReflect.Descriptor instead.

func (*PlayerStateOptions) GetRepeatMode

func (*PlayerStateOptions) ProtoMessage

func (*PlayerStateOptions) ProtoMessage()

func (*PlayerStateOptions) ProtoReflect

func (x *PlayerStateOptions) ProtoReflect() protoreflect.Message

func (*PlayerStateOptions) Reset

func (x *PlayerStateOptions) Reset()

func (*PlayerStateOptions) String

func (x *PlayerStateOptions) String() string

type PlayerStateOptions_RepeatMode

type PlayerStateOptions_RepeatMode int32
const (
	PlayerStateOptions_UNSPECIFIED PlayerStateOptions_RepeatMode = 0
	// Без повтора.
	PlayerStateOptions_NONE PlayerStateOptions_RepeatMode = 1
	// Повтор одного трека.
	PlayerStateOptions_ONE PlayerStateOptions_RepeatMode = 2
	// Повтор всей сущности.
	PlayerStateOptions_ALL PlayerStateOptions_RepeatMode = 3
)

func (PlayerStateOptions_RepeatMode) Descriptor

func (PlayerStateOptions_RepeatMode) Enum

func (PlayerStateOptions_RepeatMode) EnumDescriptor deprecated

func (PlayerStateOptions_RepeatMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use PlayerStateOptions_RepeatMode.Descriptor instead.

func (PlayerStateOptions_RepeatMode) Number

func (PlayerStateOptions_RepeatMode) String

func (PlayerStateOptions_RepeatMode) Type

type PlayingStatus

type PlayingStatus struct {

	// Прогресс проигрываемой сущности. Значение в интервале [0; длина] в миллисекундах.
	// Для infinite-очередей равен 0.
	ProgressMs int64 `protobuf:"varint,1,opt,name=progress_ms,json=progressMs,proto3" json:"progress_ms,omitempty"`
	// Длительность проигрываемой сущности в миллисекундах.
	// Для infinite-очередей равна 0.
	DurationMs int64 `protobuf:"varint,2,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
	// Был ли трек поставлен на паузу.
	Paused bool `protobuf:"varint,3,opt,name=paused,proto3" json:"paused,omitempty"`
	// Скорость воспроизведения.
	PlaybackSpeed float64 `protobuf:"fixed64,4,opt,name=playback_speed,json=playbackSpeed,proto3" json:"playback_speed,omitempty"`
	// Версия последнего изменения статуса воспроизведения.
	Version *UpdateVersion `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

Статус воспроизведения.

func (*PlayingStatus) Descriptor deprecated

func (*PlayingStatus) Descriptor() ([]byte, []int)

Deprecated: Use PlayingStatus.ProtoReflect.Descriptor instead.

func (*PlayingStatus) GetDurationMs

func (x *PlayingStatus) GetDurationMs() int64

func (*PlayingStatus) GetPaused

func (x *PlayingStatus) GetPaused() bool

func (*PlayingStatus) GetPlaybackSpeed

func (x *PlayingStatus) GetPlaybackSpeed() float64

func (*PlayingStatus) GetProgressMs

func (x *PlayingStatus) GetProgressMs() int64

func (*PlayingStatus) GetVersion

func (x *PlayingStatus) GetVersion() *UpdateVersion

func (*PlayingStatus) ProtoMessage

func (*PlayingStatus) ProtoMessage()

func (*PlayingStatus) ProtoReflect

func (x *PlayingStatus) ProtoReflect() protoreflect.Message

func (*PlayingStatus) Reset

func (x *PlayingStatus) Reset()

func (*PlayingStatus) String

func (x *PlayingStatus) String() string

type PutYnisonStateRequest

type PutYnisonStateRequest struct {

	// Types that are assignable to Parameters:
	//
	//	*PutYnisonStateRequest_UpdateFullState
	//	*PutYnisonStateRequest_UpdateActiveDevice
	//	*PutYnisonStateRequest_UpdatePlayingStatus
	//	*PutYnisonStateRequest_UpdatePlayerState
	//	*PutYnisonStateRequest_UpdateVolume
	//	*PutYnisonStateRequest_UpdatePlayerQueueInject
	//	*PutYnisonStateRequest_UpdateSessionParams
	//	*PutYnisonStateRequest_UpdateVolumeInfo
	//	*PutYnisonStateRequest_SyncStateFromEov
	Parameters isPutYnisonStateRequest_Parameters `protobuf_oneof:"parameters"`
	// Время последнего изменения в плеере в миллисекундах.
	PlayerActionTimestampMs int64 `` /* 135-byte string literal not displayed */
	// Request id. Генерируется клиентом, используется для логирования и отладки
	Rid string `protobuf:"bytes,8,opt,name=rid,proto3" json:"rid,omitempty"`
	// Определяет тактику перехвата активности устройством отправившим сообщение.
	ActivityInterceptionType PutYnisonStateRequest_ActivityInterceptionType `` /* 202-byte string literal not displayed */
	// contains filtered or unexported fields
}

Сообщение с обновленным состоянием. Клиент отправляет на сервер один из параметров в зависимости от произошедшего события.

func (*PutYnisonStateRequest) Descriptor deprecated

func (*PutYnisonStateRequest) Descriptor() ([]byte, []int)

Deprecated: Use PutYnisonStateRequest.ProtoReflect.Descriptor instead.

func (*PutYnisonStateRequest) GetActivityInterceptionType

func (*PutYnisonStateRequest) GetParameters

func (m *PutYnisonStateRequest) GetParameters() isPutYnisonStateRequest_Parameters

func (*PutYnisonStateRequest) GetPlayerActionTimestampMs

func (x *PutYnisonStateRequest) GetPlayerActionTimestampMs() int64

func (*PutYnisonStateRequest) GetRid

func (x *PutYnisonStateRequest) GetRid() string

func (*PutYnisonStateRequest) GetSyncStateFromEov

func (x *PutYnisonStateRequest) GetSyncStateFromEov() *SyncStateFromEOV

func (*PutYnisonStateRequest) GetUpdateActiveDevice

func (x *PutYnisonStateRequest) GetUpdateActiveDevice() *UpdateActiveDevice

func (*PutYnisonStateRequest) GetUpdateFullState

func (x *PutYnisonStateRequest) GetUpdateFullState() *UpdateFullState

func (*PutYnisonStateRequest) GetUpdatePlayerQueueInject

func (x *PutYnisonStateRequest) GetUpdatePlayerQueueInject() *UpdatePlayerQueueInject

func (*PutYnisonStateRequest) GetUpdatePlayerState

func (x *PutYnisonStateRequest) GetUpdatePlayerState() *UpdatePlayerState

func (*PutYnisonStateRequest) GetUpdatePlayingStatus

func (x *PutYnisonStateRequest) GetUpdatePlayingStatus() *UpdatePlayingStatus

func (*PutYnisonStateRequest) GetUpdateSessionParams

func (x *PutYnisonStateRequest) GetUpdateSessionParams() *UpdateSessionParams

func (*PutYnisonStateRequest) GetUpdateVolume deprecated

func (x *PutYnisonStateRequest) GetUpdateVolume() *UpdateVolume

Deprecated: Do not use.

func (*PutYnisonStateRequest) GetUpdateVolumeInfo

func (x *PutYnisonStateRequest) GetUpdateVolumeInfo() *UpdateVolumeInfo

func (*PutYnisonStateRequest) ProtoMessage

func (*PutYnisonStateRequest) ProtoMessage()

func (*PutYnisonStateRequest) ProtoReflect

func (x *PutYnisonStateRequest) ProtoReflect() protoreflect.Message

func (*PutYnisonStateRequest) Reset

func (x *PutYnisonStateRequest) Reset()

func (*PutYnisonStateRequest) String

func (x *PutYnisonStateRequest) String() string

type PutYnisonStateRequest_ActivityInterceptionType

type PutYnisonStateRequest_ActivityInterceptionType int32
const (
	// Устройство, отправившее сообщение, не пытается перехватить активность.
	PutYnisonStateRequest_DO_NOT_INTERCEPT_BY_DEFAULT PutYnisonStateRequest_ActivityInterceptionType = 0
	// Устройство, отправившее сообщение, становится активным,
	// если на момент обработки сообщения активное устройство отсутствует.
	PutYnisonStateRequest_INTERCEPT_IF_NO_ONE_ACTIVE PutYnisonStateRequest_ActivityInterceptionType = 1
	// Устройство, отправившее сообщение, получает активность после успешной обработки сообщения.
	PutYnisonStateRequest_INTERCEPT_EAGER PutYnisonStateRequest_ActivityInterceptionType = 2
)

func (PutYnisonStateRequest_ActivityInterceptionType) Descriptor

func (PutYnisonStateRequest_ActivityInterceptionType) Enum

func (PutYnisonStateRequest_ActivityInterceptionType) EnumDescriptor deprecated

Deprecated: Use PutYnisonStateRequest_ActivityInterceptionType.Descriptor instead.

func (PutYnisonStateRequest_ActivityInterceptionType) Number

func (PutYnisonStateRequest_ActivityInterceptionType) String

func (PutYnisonStateRequest_ActivityInterceptionType) Type

type PutYnisonStateRequest_SyncStateFromEov

type PutYnisonStateRequest_SyncStateFromEov struct {
	// Запросить синхронизацию с сервисом ЕОВ.
	SyncStateFromEov *SyncStateFromEOV `protobuf:"bytes,12,opt,name=sync_state_from_eov,json=syncStateFromEov,proto3,oneof"`
}

type PutYnisonStateRequest_UpdateActiveDevice

type PutYnisonStateRequest_UpdateActiveDevice struct {
	// Обновить активное устройство.
	UpdateActiveDevice *UpdateActiveDevice `protobuf:"bytes,2,opt,name=update_active_device,json=updateActiveDevice,proto3,oneof"`
}

type PutYnisonStateRequest_UpdateFullState

type PutYnisonStateRequest_UpdateFullState struct {
	// Обновить общее состояние.
	UpdateFullState *UpdateFullState `protobuf:"bytes,1,opt,name=update_full_state,json=updateFullState,proto3,oneof"`
}

type PutYnisonStateRequest_UpdatePlayerQueueInject

type PutYnisonStateRequest_UpdatePlayerQueueInject struct {
	// Обновить состояние проигрывания ижектируемой в очередь сущности.
	UpdatePlayerQueueInject *UpdatePlayerQueueInject `protobuf:"bytes,6,opt,name=update_player_queue_inject,json=updatePlayerQueueInject,proto3,oneof"`
}

type PutYnisonStateRequest_UpdatePlayerState

type PutYnisonStateRequest_UpdatePlayerState struct {
	// Обновить состояние плеера.
	UpdatePlayerState *UpdatePlayerState `protobuf:"bytes,4,opt,name=update_player_state,json=updatePlayerState,proto3,oneof"`
}

type PutYnisonStateRequest_UpdatePlayingStatus

type PutYnisonStateRequest_UpdatePlayingStatus struct {
	// Обновить статус воспроизведения.
	UpdatePlayingStatus *UpdatePlayingStatus `protobuf:"bytes,3,opt,name=update_playing_status,json=updatePlayingStatus,proto3,oneof"`
}

type PutYnisonStateRequest_UpdateSessionParams

type PutYnisonStateRequest_UpdateSessionParams struct {
	// Обновить информацию об устройстве отправившем информацию.
	UpdateSessionParams *UpdateSessionParams `protobuf:"bytes,9,opt,name=update_session_params,json=updateSessionParams,proto3,oneof"`
}

type PutYnisonStateRequest_UpdateVolume

type PutYnisonStateRequest_UpdateVolume struct {
	// Обновить громкость. Устаревшее значение, смотри [update_volume_info].
	//
	// Deprecated: Do not use.
	UpdateVolume *UpdateVolume `protobuf:"bytes,5,opt,name=update_volume,json=updateVolume,proto3,oneof"`
}

type PutYnisonStateRequest_UpdateVolumeInfo

type PutYnisonStateRequest_UpdateVolumeInfo struct {
	// Обновить громкость.
	UpdateVolumeInfo *UpdateVolumeInfo `protobuf:"bytes,11,opt,name=update_volume_info,json=updateVolumeInfo,proto3,oneof"`
}

type PutYnisonStateResponse

type PutYnisonStateResponse struct {

	// Состояние плеера.
	PlayerState *PlayerState `protobuf:"bytes,1,opt,name=player_state,json=playerState,proto3" json:"player_state,omitempty"`
	// Список подключенных устройств.
	Devices []*Device `protobuf:"bytes,2,rep,name=devices,proto3" json:"devices,omitempty"`
	// Идентификатор активного устройства.
	ActiveDeviceIdOptional *wrapperspb.StringValue `` /* 131-byte string literal not displayed */
	// Время создания ответа сервера в миллисекундах.
	TimestampMs int64 `protobuf:"varint,4,opt,name=timestamp_ms,json=timestampMs,proto3" json:"timestamp_ms,omitempty"`
	// Request id. Предположительно тот, который послужил причиной отправки ответа.
	Rid string `protobuf:"bytes,5,opt,name=rid,proto3" json:"rid,omitempty"`
	// contains filtered or unexported fields
}

Сообщение с обновленным состоянием.

Сервер отправляет на клиент в следующих случаях: * В ответ на `PutYnisonStateRequest`, который меняет состояние на сервере. * Если произошло обновление на другом клиенте и его нужно транслировать всем подключенным устройствам (например, сменилась очередь воспроизведения). * Если изменился список устройств.

func (*PutYnisonStateResponse) Descriptor deprecated

func (*PutYnisonStateResponse) Descriptor() ([]byte, []int)

Deprecated: Use PutYnisonStateResponse.ProtoReflect.Descriptor instead.

func (*PutYnisonStateResponse) GetActiveDeviceIdOptional

func (x *PutYnisonStateResponse) GetActiveDeviceIdOptional() *wrapperspb.StringValue

func (*PutYnisonStateResponse) GetDevices

func (x *PutYnisonStateResponse) GetDevices() []*Device

func (*PutYnisonStateResponse) GetPlayerState

func (x *PutYnisonStateResponse) GetPlayerState() *PlayerState

func (*PutYnisonStateResponse) GetRid

func (x *PutYnisonStateResponse) GetRid() string

func (*PutYnisonStateResponse) GetTimestampMs

func (x *PutYnisonStateResponse) GetTimestampMs() int64

func (*PutYnisonStateResponse) ProtoMessage

func (*PutYnisonStateResponse) ProtoMessage()

func (*PutYnisonStateResponse) ProtoReflect

func (x *PutYnisonStateResponse) ProtoReflect() protoreflect.Message

func (*PutYnisonStateResponse) Reset

func (x *PutYnisonStateResponse) Reset()

func (*PutYnisonStateResponse) String

func (x *PutYnisonStateResponse) String() string

type Session

type Session struct {

	// Сервер сгенерирует случайное значение самостоятельно.
	// Клиент может заполнить это значение самостоятельно при UpdateFullState,
	// в таком случае сервер использует переданное значение.
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*Session) Descriptor deprecated

func (*Session) Descriptor() ([]byte, []int)

Deprecated: Use Session.ProtoReflect.Descriptor instead.

func (*Session) GetId

func (x *Session) GetId() int64

func (*Session) ProtoMessage

func (*Session) ProtoMessage()

func (*Session) ProtoReflect

func (x *Session) ProtoReflect() protoreflect.Message

func (*Session) Reset

func (x *Session) Reset()

func (*Session) String

func (x *Session) String() string

type Shuffle

type Shuffle struct {

	// Зашафленный список индексов сущностей в очереди.
	PlayableIndices []uint32 `protobuf:"varint,1,rep,packed,name=playable_indices,json=playableIndices,proto3" json:"playable_indices,omitempty"`
	// contains filtered or unexported fields
}

func (*Shuffle) Descriptor deprecated

func (*Shuffle) Descriptor() ([]byte, []int)

Deprecated: Use Shuffle.ProtoReflect.Descriptor instead.

func (*Shuffle) GetPlayableIndices

func (x *Shuffle) GetPlayableIndices() []uint32

func (*Shuffle) ProtoMessage

func (*Shuffle) ProtoMessage()

func (*Shuffle) ProtoReflect

func (x *Shuffle) ProtoReflect() protoreflect.Message

func (*Shuffle) Reset

func (x *Shuffle) Reset()

func (*Shuffle) String

func (x *Shuffle) String() string

type SyncStateFromEOV

type SyncStateFromEOV struct {

	// Идентификатор очереди устройства в ЕОВ.
	// Пустая строка - допустимое значение, если клиент не имеет информации о синхронизации очередей.
	ActualQueueId string `protobuf:"bytes,1,opt,name=actual_queue_id,json=actualQueueId,proto3" json:"actual_queue_id,omitempty"`
	// contains filtered or unexported fields
}

Информация о запросе синхронизации с сервисом ЕОВ (единой очереди воспроизведения). Запрос синхронизации может быть отклонен сервером, если: * текущий девайс на данный момент не является активным * текущий девайс не получил активности в результате вызова этого метода

Обновление происходит по следующему сценарию.
1. Бэкенд проверяет активность устройства, и делает его активным, если требуется (см. ActivityInterceptionType).
2. Если устройство не является активным после шага 1, то команда тихо игнорируется (никаких событий или ошибок не произойдет). Выполнение прерывается.
3. Бэкенд получает список очередей из Единой Очереди Воспроизведения.
4. Если id последней очереди в списке совпадает с actual_queue_id, то обновление очереди не произойдет и мы перейдем к пункту 6.
5. Пробуем обновить стейт на основании ЕОВ. Новое состояние плеера, в случае обновления,
   будет содержать [UpdateVersion#device_id] отличным от id устройства, отправившего сообщение
6. Если стейт был обновлен или сменилось активное устройство, то рассылаем эвент всем устройствам. Иначе выходим из метода без событий и ошибок.

func (*SyncStateFromEOV) Descriptor deprecated

func (*SyncStateFromEOV) Descriptor() ([]byte, []int)

Deprecated: Use SyncStateFromEOV.ProtoReflect.Descriptor instead.

func (*SyncStateFromEOV) GetActualQueueId

func (x *SyncStateFromEOV) GetActualQueueId() string

func (*SyncStateFromEOV) ProtoMessage

func (*SyncStateFromEOV) ProtoMessage()

func (*SyncStateFromEOV) ProtoReflect

func (x *SyncStateFromEOV) ProtoReflect() protoreflect.Message

func (*SyncStateFromEOV) Reset

func (x *SyncStateFromEOV) Reset()

func (*SyncStateFromEOV) String

func (x *SyncStateFromEOV) String() string

type TrackInfo

type TrackInfo struct {

	// Ключ источника из [WaveQueue.EntityOptions.track_sources] (queue.proto)
	// См. `WaveQueue.EntityOptions.TrackSourceWithKey`
	TrackSourceKey uint32 `protobuf:"varint,1,opt,name=track_source_key,json=trackSourceKey,proto3" json:"track_source_key,omitempty"`
	// Относится поле к трекам, полученным из рекомендаций, т.е. трекам в волновой очереди.
	// Любой полученный из рекомендаций трек относится к определенному `batchId`.
	// Потеря batchId крайне нежелательна. Рекомендациям этот id очень важен.
	// В волновой очереди также можно ставить треки следующими через "Играть следующим".
	// Этим трекам необходим `batchId`, который генерируется на клиенте, и который
	// нужно переносить.
	//
	// `batchId` *прослушанных* в рамках rotor-сессии треков можно не переносить.
	BatchIdOptional *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=batch_id_optional,json=batchIdOptional,proto3" json:"batch_id_optional,omitempty"`
	// contains filtered or unexported fields
}

Дополнительная информация о треке

func (*TrackInfo) Descriptor deprecated

func (*TrackInfo) Descriptor() ([]byte, []int)

Deprecated: Use TrackInfo.ProtoReflect.Descriptor instead.

func (*TrackInfo) GetBatchIdOptional

func (x *TrackInfo) GetBatchIdOptional() *wrapperspb.StringValue

func (*TrackInfo) GetTrackSourceKey

func (x *TrackInfo) GetTrackSourceKey() uint32

func (*TrackInfo) ProtoMessage

func (*TrackInfo) ProtoMessage()

func (*TrackInfo) ProtoReflect

func (x *TrackInfo) ProtoReflect() protoreflect.Message

func (*TrackInfo) Reset

func (x *TrackInfo) Reset()

func (*TrackInfo) String

func (x *TrackInfo) String() string

type UnimplementedYnisonStateServiceServer

type UnimplementedYnisonStateServiceServer struct {
}

UnimplementedYnisonStateServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedYnisonStateServiceServer) PutYnisonState

type UnsafeYnisonStateServiceServer

type UnsafeYnisonStateServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeYnisonStateServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to YnisonStateServiceServer will result in compilation errors.

type UpdateActiveDevice

type UpdateActiveDevice struct {
	DeviceIdOptional *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=device_id_optional,json=deviceIdOptional,proto3" json:"device_id_optional,omitempty"`
	// contains filtered or unexported fields
}

Обновить активное устройство. Отправляется при выборе пользователем устройства, которое должно проигрывать звук.

func (*UpdateActiveDevice) Descriptor deprecated

func (*UpdateActiveDevice) Descriptor() ([]byte, []int)

Deprecated: Use UpdateActiveDevice.ProtoReflect.Descriptor instead.

func (*UpdateActiveDevice) GetDeviceIdOptional

func (x *UpdateActiveDevice) GetDeviceIdOptional() *wrapperspb.StringValue

func (*UpdateActiveDevice) ProtoMessage

func (*UpdateActiveDevice) ProtoMessage()

func (*UpdateActiveDevice) ProtoReflect

func (x *UpdateActiveDevice) ProtoReflect() protoreflect.Message

func (*UpdateActiveDevice) Reset

func (x *UpdateActiveDevice) Reset()

func (*UpdateActiveDevice) String

func (x *UpdateActiveDevice) String() string

type UpdateDevice

type UpdateDevice struct {

	// Информация об устройстве.
	Info *DeviceInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	// Громкость. Устарело, смотри [volume_info].
	//
	// Deprecated: Do not use.
	Volume float64 `protobuf:"fixed64,2,opt,name=volume,proto3" json:"volume,omitempty"`
	// Настройки доступности.
	Capabilities *DeviceCapabilities `protobuf:"bytes,3,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
	// Громкость.
	VolumeInfo *DeviceVolume `protobuf:"bytes,4,opt,name=volume_info,json=volumeInfo,proto3" json:"volume_info,omitempty"`
	// contains filtered or unexported fields
}

Информация об устройстве, передаваемая самим устройством на сервер для инициализации

func (*UpdateDevice) Descriptor deprecated

func (*UpdateDevice) Descriptor() ([]byte, []int)

Deprecated: Use UpdateDevice.ProtoReflect.Descriptor instead.

func (*UpdateDevice) GetCapabilities

func (x *UpdateDevice) GetCapabilities() *DeviceCapabilities

func (*UpdateDevice) GetInfo

func (x *UpdateDevice) GetInfo() *DeviceInfo

func (*UpdateDevice) GetVolume deprecated

func (x *UpdateDevice) GetVolume() float64

Deprecated: Do not use.

func (*UpdateDevice) GetVolumeInfo

func (x *UpdateDevice) GetVolumeInfo() *DeviceVolume

func (*UpdateDevice) ProtoMessage

func (*UpdateDevice) ProtoMessage()

func (*UpdateDevice) ProtoReflect

func (x *UpdateDevice) ProtoReflect() protoreflect.Message

func (*UpdateDevice) Reset

func (x *UpdateDevice) Reset()

func (*UpdateDevice) String

func (x *UpdateDevice) String() string

type UpdateFullState

type UpdateFullState struct {

	// Состояние плеера.
	PlayerState *PlayerState `protobuf:"bytes,1,opt,name=player_state,json=playerState,proto3" json:"player_state,omitempty"`
	// Является ли устройство активным (играет звук).
	IsCurrentlyActive bool          `protobuf:"varint,2,opt,name=is_currently_active,json=isCurrentlyActive,proto3" json:"is_currently_active,omitempty"`
	Device            *UpdateDevice `protobuf:"bytes,3,opt,name=device,proto3" json:"device,omitempty"`
	// Запрос к серверу о необходимости синхронизации ЕОВ во время обработки сообщения [UpdateFullState].
	// Если не передан - синхронизация будет вызвана только для сценариев "холодного старта"
	// (нет очереди воспроизведения на на устройстве, ни на сервере).
	SyncStateFromEovOptional *SyncStateFromEOV `` /* 139-byte string literal not displayed */
	// contains filtered or unexported fields
}

Обновить полное состояние проигрывания и устройств.

Отправляется в следующих случаях: * Холодный старт. * Выключение оффлайн режима. * Появление сети после ее отключения.

func (*UpdateFullState) Descriptor deprecated

func (*UpdateFullState) Descriptor() ([]byte, []int)

Deprecated: Use UpdateFullState.ProtoReflect.Descriptor instead.

func (*UpdateFullState) GetDevice

func (x *UpdateFullState) GetDevice() *UpdateDevice

func (*UpdateFullState) GetIsCurrentlyActive

func (x *UpdateFullState) GetIsCurrentlyActive() bool

func (*UpdateFullState) GetPlayerState

func (x *UpdateFullState) GetPlayerState() *PlayerState

func (*UpdateFullState) GetSyncStateFromEovOptional

func (x *UpdateFullState) GetSyncStateFromEovOptional() *SyncStateFromEOV

func (*UpdateFullState) ProtoMessage

func (*UpdateFullState) ProtoMessage()

func (*UpdateFullState) ProtoReflect

func (x *UpdateFullState) ProtoReflect() protoreflect.Message

func (*UpdateFullState) Reset

func (x *UpdateFullState) Reset()

func (*UpdateFullState) String

func (x *UpdateFullState) String() string

type UpdatePlayerQueueInject

type UpdatePlayerQueueInject struct {
	PlayerQueueInject *PlayerQueueInject `protobuf:"bytes,1,opt,name=player_queue_inject,json=playerQueueInject,proto3" json:"player_queue_inject,omitempty"`
	// contains filtered or unexported fields
}

Добавить состояние проигрывания ижектируемой в очередь сущности.

func (*UpdatePlayerQueueInject) Descriptor deprecated

func (*UpdatePlayerQueueInject) Descriptor() ([]byte, []int)

Deprecated: Use UpdatePlayerQueueInject.ProtoReflect.Descriptor instead.

func (*UpdatePlayerQueueInject) GetPlayerQueueInject

func (x *UpdatePlayerQueueInject) GetPlayerQueueInject() *PlayerQueueInject

func (*UpdatePlayerQueueInject) ProtoMessage

func (*UpdatePlayerQueueInject) ProtoMessage()

func (*UpdatePlayerQueueInject) ProtoReflect

func (x *UpdatePlayerQueueInject) ProtoReflect() protoreflect.Message

func (*UpdatePlayerQueueInject) Reset

func (x *UpdatePlayerQueueInject) Reset()

func (*UpdatePlayerQueueInject) String

func (x *UpdatePlayerQueueInject) String() string

type UpdatePlayerState

type UpdatePlayerState struct {

	// Состояние проигрывания.
	PlayerState *PlayerState `protobuf:"bytes,1,opt,name=player_state,json=playerState,proto3" json:"player_state,omitempty"`
	// contains filtered or unexported fields
}

Обновить состояние плеера.

Отправляется в следующих случаях: * Старт новой очереди (плейлист, исполнитель, проч.). * Обновление очереди (добавление/удаление сущности из очереди). * Изменение режима повтора/шаффла.

func (*UpdatePlayerState) Descriptor deprecated

func (*UpdatePlayerState) Descriptor() ([]byte, []int)

Deprecated: Use UpdatePlayerState.ProtoReflect.Descriptor instead.

func (*UpdatePlayerState) GetPlayerState

func (x *UpdatePlayerState) GetPlayerState() *PlayerState

func (*UpdatePlayerState) ProtoMessage

func (*UpdatePlayerState) ProtoMessage()

func (*UpdatePlayerState) ProtoReflect

func (x *UpdatePlayerState) ProtoReflect() protoreflect.Message

func (*UpdatePlayerState) Reset

func (x *UpdatePlayerState) Reset()

func (*UpdatePlayerState) String

func (x *UpdatePlayerState) String() string

type UpdatePlayingStatus

type UpdatePlayingStatus struct {
	PlayingStatus *PlayingStatus `protobuf:"bytes,1,opt,name=playing_status,json=playingStatus,proto3" json:"playing_status,omitempty"`
	// contains filtered or unexported fields
}

Обновить статус воспроизведения.

Отправляется в следующих случаях: * Старт воспроизведения (после паузы). * Остановка воспроизведения/пауза (после проигрывания). * Перемотка. * Изменение скорости воспроизведения.

func (*UpdatePlayingStatus) Descriptor deprecated

func (*UpdatePlayingStatus) Descriptor() ([]byte, []int)

Deprecated: Use UpdatePlayingStatus.ProtoReflect.Descriptor instead.

func (*UpdatePlayingStatus) GetPlayingStatus

func (x *UpdatePlayingStatus) GetPlayingStatus() *PlayingStatus

func (*UpdatePlayingStatus) ProtoMessage

func (*UpdatePlayingStatus) ProtoMessage()

func (*UpdatePlayingStatus) ProtoReflect

func (x *UpdatePlayingStatus) ProtoReflect() protoreflect.Message

func (*UpdatePlayingStatus) Reset

func (x *UpdatePlayingStatus) Reset()

func (*UpdatePlayingStatus) String

func (x *UpdatePlayingStatus) String() string

type UpdateSessionParams

type UpdateSessionParams struct {

	// Пока устройство находится в пассивном режиме, оно не будет получать с сервера новые события.
	// Флаг сбрасывается, если текущее устройство становится активным.
	// Устройство обязательно получит сообщение о том, что стало активным.
	// Если текущее устройство активно, этот флаг не может быть быть установлен в true и будет проигнорирован.
	MuteEventsIfPassive bool `protobuf:"varint,1,opt,name=mute_events_if_passive,json=muteEventsIfPassive,proto3" json:"mute_events_if_passive,omitempty"`
	// contains filtered or unexported fields
}

Обновить поведение сервера в отношении устройства в рамках сессии. Параметры сбрасываются при переподключении

func (*UpdateSessionParams) Descriptor deprecated

func (*UpdateSessionParams) Descriptor() ([]byte, []int)

Deprecated: Use UpdateSessionParams.ProtoReflect.Descriptor instead.

func (*UpdateSessionParams) GetMuteEventsIfPassive

func (x *UpdateSessionParams) GetMuteEventsIfPassive() bool

func (*UpdateSessionParams) ProtoMessage

func (*UpdateSessionParams) ProtoMessage()

func (*UpdateSessionParams) ProtoReflect

func (x *UpdateSessionParams) ProtoReflect() protoreflect.Message

func (*UpdateSessionParams) Reset

func (x *UpdateSessionParams) Reset()

func (*UpdateSessionParams) String

func (x *UpdateSessionParams) String() string

type UpdateVersion

type UpdateVersion struct {

	// Идентификатор устройства, которое инициировало изменение.
	DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Версия последнего изменения.
	// random(int64)
	Version int64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
	// Время последнего изменения.
	// Диагностическое значение, не используется в бизнес-логике на клиентах.
	TimestampMs int64 `protobuf:"varint,3,opt,name=timestamp_ms,json=timestampMs,proto3" json:"timestamp_ms,omitempty"`
	// contains filtered or unexported fields
}

Версия изменений.

func (*UpdateVersion) Descriptor deprecated

func (*UpdateVersion) Descriptor() ([]byte, []int)

Deprecated: Use UpdateVersion.ProtoReflect.Descriptor instead.

func (*UpdateVersion) GetDeviceId

func (x *UpdateVersion) GetDeviceId() string

func (*UpdateVersion) GetTimestampMs

func (x *UpdateVersion) GetTimestampMs() int64

func (*UpdateVersion) GetVersion

func (x *UpdateVersion) GetVersion() int64

func (*UpdateVersion) ProtoMessage

func (*UpdateVersion) ProtoMessage()

func (*UpdateVersion) ProtoReflect

func (x *UpdateVersion) ProtoReflect() protoreflect.Message

func (*UpdateVersion) Reset

func (x *UpdateVersion) Reset()

func (*UpdateVersion) String

func (x *UpdateVersion) String() string

type UpdateVolume deprecated

type UpdateVolume struct {

	// Громкость. Значения в интервале [0; 1].
	Volume float64 `protobuf:"fixed64,1,opt,name=volume,proto3" json:"volume,omitempty"`
	// device id устройства, на котором меняется громкость.
	DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// contains filtered or unexported fields
}

Обновить уровень громкости. Устаревшее сообщение, смотри UpdateVolumeInfo.

Deprecated: Do not use.

func (*UpdateVolume) Descriptor deprecated

func (*UpdateVolume) Descriptor() ([]byte, []int)

Deprecated: Use UpdateVolume.ProtoReflect.Descriptor instead.

func (*UpdateVolume) GetDeviceId

func (x *UpdateVolume) GetDeviceId() string

func (*UpdateVolume) GetVolume

func (x *UpdateVolume) GetVolume() float64

func (*UpdateVolume) ProtoMessage

func (*UpdateVolume) ProtoMessage()

func (*UpdateVolume) ProtoReflect

func (x *UpdateVolume) ProtoReflect() protoreflect.Message

func (*UpdateVolume) Reset

func (x *UpdateVolume) Reset()

func (*UpdateVolume) String

func (x *UpdateVolume) String() string

type UpdateVolumeInfo

type UpdateVolumeInfo struct {

	// device id устройства, на котором меняется громкость.
	DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// новое значение состояния громкости с версией изменений.
	VolumeInfo *DeviceVolume `protobuf:"bytes,2,opt,name=volume_info,json=volumeInfo,proto3" json:"volume_info,omitempty"`
	// contains filtered or unexported fields
}

Обновить громкость устройства.

func (*UpdateVolumeInfo) Descriptor deprecated

func (*UpdateVolumeInfo) Descriptor() ([]byte, []int)

Deprecated: Use UpdateVolumeInfo.ProtoReflect.Descriptor instead.

func (*UpdateVolumeInfo) GetDeviceId

func (x *UpdateVolumeInfo) GetDeviceId() string

func (*UpdateVolumeInfo) GetVolumeInfo

func (x *UpdateVolumeInfo) GetVolumeInfo() *DeviceVolume

func (*UpdateVolumeInfo) ProtoMessage

func (*UpdateVolumeInfo) ProtoMessage()

func (*UpdateVolumeInfo) ProtoReflect

func (x *UpdateVolumeInfo) ProtoReflect() protoreflect.Message

func (*UpdateVolumeInfo) Reset

func (x *UpdateVolumeInfo) Reset()

func (*UpdateVolumeInfo) String

func (x *UpdateVolumeInfo) String() string

type VideoClipInfo

type VideoClipInfo struct {

	// Это поле содержит информацию для аналитики, обозначает способ попадания видео клипа в очередь
	RecommendationType VideoClipInfo_RecommendationType `` /* 167-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*VideoClipInfo) Descriptor deprecated

func (*VideoClipInfo) Descriptor() ([]byte, []int)

Deprecated: Use VideoClipInfo.ProtoReflect.Descriptor instead.

func (*VideoClipInfo) GetRecommendationType

func (x *VideoClipInfo) GetRecommendationType() VideoClipInfo_RecommendationType

func (*VideoClipInfo) ProtoMessage

func (*VideoClipInfo) ProtoMessage()

func (*VideoClipInfo) ProtoReflect

func (x *VideoClipInfo) ProtoReflect() protoreflect.Message

func (*VideoClipInfo) Reset

func (x *VideoClipInfo) Reset()

func (*VideoClipInfo) String

func (x *VideoClipInfo) String() string

type VideoClipInfo_RecommendationType

type VideoClipInfo_RecommendationType int32
const (
	VideoClipInfo_UNSPECIFIED VideoClipInfo_RecommendationType = 0
	// видео клип пришёл от рекоментадельного бэкенда
	VideoClipInfo_RECOMMENDED VideoClipInfo_RecommendationType = 1
	// видео клип явно выбран пользователем
	VideoClipInfo_ON_DEMAND VideoClipInfo_RecommendationType = 2
)

func (VideoClipInfo_RecommendationType) Descriptor

func (VideoClipInfo_RecommendationType) Enum

func (VideoClipInfo_RecommendationType) EnumDescriptor deprecated

func (VideoClipInfo_RecommendationType) EnumDescriptor() ([]byte, []int)

Deprecated: Use VideoClipInfo_RecommendationType.Descriptor instead.

func (VideoClipInfo_RecommendationType) Number

func (VideoClipInfo_RecommendationType) String

func (VideoClipInfo_RecommendationType) Type

type YnisonDeviceInfoHeader

type YnisonDeviceInfoHeader struct {

	// Тип устройства. Оригинальное поле DeviceInfo#type
	Type DeviceType `protobuf:"varint,1,opt,name=type,proto3,enum=ynison_state.DeviceType" json:"type,omitempty"`
	// Информация о клиентском приложении подключенного устройства. Оригинальное поле DeviceInfo#app_name
	AppName string `protobuf:"bytes,2,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"`
	// Информация о версии клиентского приложения подключенного устройства. Оригинальное поле DeviceInfo#app_version
	AppVersion string `protobuf:"bytes,3,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"`
	// contains filtered or unexported fields
}

Хэдер Ynison-Device-Info, в котором устройство представляется о себе в начале сеанса. Его передача условно опциональна, но крайне желательна как для походов в ynison-hub, так и в ynison-redirector Информация должна совпадать с полями из DeviceInfo, передаваемыми в этом же сеансе в UpdateFullState.

Хэдер представляет собой сериализованное proto-сообщение, упакованное в в base64 со стандартным алфавитом (не url-safe), без паддинга и без переносов строк. Пример в java: Base64.getEncoder().withoutPadding().encodeToString(proto.toByteArray())

Эта информация будет использоваться для улучшения аналитики по возникающим проблемам.

func (*YnisonDeviceInfoHeader) Descriptor deprecated

func (*YnisonDeviceInfoHeader) Descriptor() ([]byte, []int)

Deprecated: Use YnisonDeviceInfoHeader.ProtoReflect.Descriptor instead.

func (*YnisonDeviceInfoHeader) GetAppName

func (x *YnisonDeviceInfoHeader) GetAppName() string

func (*YnisonDeviceInfoHeader) GetAppVersion

func (x *YnisonDeviceInfoHeader) GetAppVersion() string

func (*YnisonDeviceInfoHeader) GetType

func (x *YnisonDeviceInfoHeader) GetType() DeviceType

func (*YnisonDeviceInfoHeader) ProtoMessage

func (*YnisonDeviceInfoHeader) ProtoMessage()

func (*YnisonDeviceInfoHeader) ProtoReflect

func (x *YnisonDeviceInfoHeader) ProtoReflect() protoreflect.Message

func (*YnisonDeviceInfoHeader) Reset

func (x *YnisonDeviceInfoHeader) Reset()

func (*YnisonDeviceInfoHeader) String

func (x *YnisonDeviceInfoHeader) String() string

type YnisonStateServiceClient

type YnisonStateServiceClient interface {
	PutYnisonState(ctx context.Context, opts ...grpc.CallOption) (YnisonStateService_PutYnisonStateClient, error)
}

YnisonStateServiceClient is the client API for YnisonStateService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type YnisonStateServiceServer

type YnisonStateServiceServer interface {
	PutYnisonState(YnisonStateService_PutYnisonStateServer) error
	// contains filtered or unexported methods
}

YnisonStateServiceServer is the server API for YnisonStateService service. All implementations must embed UnimplementedYnisonStateServiceServer for forward compatibility

type YnisonStateService_PutYnisonStateClient

type YnisonStateService_PutYnisonStateClient interface {
	Send(*PutYnisonStateRequest) error
	Recv() (*PutYnisonStateResponse, error)
	grpc.ClientStream
}

type YnisonStateService_PutYnisonStateServer

type YnisonStateService_PutYnisonStateServer interface {
	Send(*PutYnisonStateResponse) error
	Recv() (*PutYnisonStateRequest, error)
	grpc.ServerStream
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL