Модели Ynison

Модели Ynison.

Модели сгенерированы из protobuf-схем Ynison (см. yandex_music.ynison.models.ynison_state). Для удобства ключевые модели доступны прямо из этого пакета, а ответ сервера с полным состоянием доступен под коротким именем YnisonState.

class yandex_music.ynison.models.Device

Класс, представляющий устройство.

info: yandex_music.ynison.models.ynison_state.DeviceInfo

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

volume: float

Громкость. Устаревшее значение, см. volume_info.

capabilities: yandex_music.ynison.models.ynison_state.DeviceCapabilities

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

session: yandex_music.ynison.models.ynison_state.Session

Информация о сессии; уникальна для каждого отдельно инициализированного подключения.

is_offline: bool

Оффлайн ли устройство (не подключено к Ynison на данный момент).

volume_info: yandex_music.ynison.models.ynison_state.DeviceVolume

Состояние громкости устройства вместе с информацией о последнем изменившем её устройстве.

class yandex_music.ynison.models.DeviceInfo

Класс, представляющий информацию об устройстве.

device_id: str

Идентификатор устройства.

title: str

Название устройства.

type: yandex_music.ynison.models.ynison_state.DeviceType

Тип устройства.

app_name: str

Информация о клиентском приложении подключённого устройства.

app_version: str

Информация о версии клиентского приложения.

class yandex_music.ynison.models.DeviceVolume

Класс, представляющий состояние громкости устройства.

volume: float

Громкость в интервале [0.0; 1.0]. Значение тесно связано с [DeviceCapabilities.volume_granularity]; ожидается округление мантиссы до 4 знаков при делении 1.0 на число шагов шкалы.

version: yandex_music.ynison.models.ynison_state.UpdateVersion

Версия последнего изменения громкости устройства.

class yandex_music.ynison.models.Playable

Класс, представляющий проигрываемую сущность.

Может быть треком, видеоклипом и т.п.

playable_id: str

Идентификатор сущности.

album_id_optional: stroptional

Опциональный идентификатор альбома. Используется для составного идентификатора playable при playable_type == TRACK.

playable_type: yandex_music.ynison.models.ynison_state.PlayablePlayableType

Тип сущности.

from_: str

Фром для play-audio.

title: str

Заголовок.

cover_url_optional: stroptional

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

video_clip_info: yandex_music.ynison.models.ynison_state.VideoClipInfo

Дополнительная информация о видеоклипе (в oneof с track_info).

track_info: yandex_music.ynison.models.ynison_state.TrackInfo

Дополнительная информация о треке (в oneof с video_clip_info).

navigation_id_optional: stroptional

Хеш для play-audio. Используется для определения хеша навигации пользователя при изменении проигрываемой сущности в очереди.

playback_action_id_optional: stroptional

Уникальный идентификатор действия воспроизведения. Используется для аналитики, чтобы склеить воспроизведение playable с экраном, с которого было сгенерировано поле.

class yandex_music.ynison.models.PlayerQueue

Класс, представляющий очередь воспроизведения.

entity_id: str

Идентификатор сущности (альбома/плейлиста/радио и др.). Устаревшее поле; новый клиент должен читать и писать queue.

entity_type: yandex_music.ynison.models.ynison_state.PlayerQueueEntityType

Тип сущности. Устаревшее поле; новый клиент должен использовать queue.

queue: yandex_music.ynison.models.ynison_state.PlayerQueueQueue

Новая иерархическая структура очередей с oneof по типам.

current_playable_index: int

Индекс текущего playable в списке playable_list.

playable_list: list из yandex_music.ynison.models.ynison_state.Playable

Список сущностей в очереди.

options: yandex_music.ynison.models.ynison_state.PlayerStateOptions

Настройки плеера.

version: yandex_music.ynison.models.ynison_state.UpdateVersion

Версия последнего изменения очереди.

shuffle_optional: yandex_music.ynison.models.ynison_state.Shuffle

Настройки шаффла. При выключенном шаффле не приходят.

entity_context: yandex_music.ynison.models.ynison_state.PlayerQueueEntityContext

Контекст воспроизведения. Устаревшее поле; контекст теперь применяется только к сущностям из фонотеки в queue.

from_optional: stroptional

Опциональный фром очереди. Используется, когда фром нельзя достать из playable_list (например, пустая ЕОВ-очередь радио).

initial_entity_optional: yandex_music.ynison.models.ynison_state.PlayerQueueInitialEntity

Изначальный id+type сущности, которой была проинициализирована очередь. Устаревшее поле; источник трека теперь берётся из [WaveQueue.EntityOptions.track_sources].

adding_options_optional: yandex_music.ynison.models.ynison_state.PlayerQueuePlayerQueueOptions

Дополнительные параметры. Устаревшее поле; см. queue.

navigation_id_optional: stroptional

Поле обратной совместимости для клиентов без поддержки WaveQueue. Работает как [WaveQueue.navigation_id_optional].

filter_optional: stroptional

Поле обратной совместимости для клиентов без поддержки WaveQueue. Работает как [WaveQueue.EntityOptions.PlaylistId.filter_optional].

playback_action_id_optional: stroptional

Поле обратной совместимости для клиентов без поддержки WaveQueue. Работает как [WaveQueue.playback_action_id_optional].

class yandex_music.ynison.models.PlayerState

Класс, представляющий состояние плеера.

status: yandex_music.ynison.models.ynison_state.PlayingStatus

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

player_queue: yandex_music.ynison.models.ynison_state.PlayerQueue

Текущая очередь.

player_queue_inject_optional: yandex_music.ynison.models.ynison_state.PlayerQueueInject

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

class yandex_music.ynison.models.PlayingStatus

Класс, представляющий статус воспроизведения.

progress_ms: int

Прогресс проигрываемой сущности в миллисекундах, в интервале [0; длина]. Для infinite-очередей равен 0.

duration_ms: int

Длительность проигрываемой сущности в миллисекундах. Для infinite-очередей равна 0.

paused: bool

Был ли трек поставлен на паузу.

playback_speed: float

Скорость воспроизведения.

version: yandex_music.ynison.models.ynison_state.UpdateVersion

Версия последнего изменения статуса воспроизведения.

class yandex_music.ynison.models.PutYnisonStateRequest

Класс, представляющий запрос на обновление состояния Ynison.

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

update_full_state: yandex_music.ynison.models.ynison_state.UpdateFullState

Обновить общее состояние (в oneof parameters).

update_active_device: yandex_music.ynison.models.ynison_state.UpdateActiveDevice

Обновить активное устройство (в oneof parameters).

update_playing_status: yandex_music.ynison.models.ynison_state.UpdatePlayingStatus

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

update_player_state: yandex_music.ynison.models.ynison_state.UpdatePlayerState

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

update_volume: yandex_music.ynison.models.ynison_state.UpdateVolume

Обновить громкость (устаревшее, см. update_volume_info).

update_player_queue_inject: yandex_music.ynison.models.ynison_state.UpdatePlayerQueueInject

Обновить состояние проигрывания инжектируемой сущности (в oneof parameters).

update_session_params: yandex_music.ynison.models.ynison_state.UpdateSessionParams

Обновить информацию об устройстве-отправителе (в oneof parameters).

update_volume_info: yandex_music.ynison.models.ynison_state.UpdateVolumeInfo

Обновить громкость (в oneof parameters).

sync_state_from_eov: yandex_music.ynison.models.ynison_state.SyncStateFromEOV

Запросить синхронизацию с сервисом ЕОВ (в oneof parameters).

player_action_timestamp_ms: int

Время последнего изменения в плеере в миллисекундах.

rid: str

Request id. Генерируется клиентом, используется для логирования и отладки.

activity_interception_type: yandex_music.ynison.models.ynison_state.PutYnisonStateRequestActivityInterceptionType

Тактика перехвата активности устройством-отправителем.

class yandex_music.ynison.models.PutYnisonStateResponse

Класс, представляющий ответ сервера на обновление состояния Ynison.

Сервер отправляет фрейм клиенту в трёх случаях: в ответ на PutYnisonStateRequest, меняющий состояние на сервере; при обновлении на другом клиенте, которое нужно транслировать всем подключённым устройствам; при изменении списка устройств.

player_state: yandex_music.ynison.models.ynison_state.PlayerState

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

devices: list из yandex_music.ynison.models.ynison_state.Device

Список подключённых устройств.

active_device_id_optional: stroptional

Идентификатор активного устройства.

timestamp_ms: int

Время создания ответа сервера в миллисекундах.

rid: str

Request id. Предположительно тот, который послужил причиной отправки ответа.

yandex_music.ynison.models.YnisonState

Полное состояние Ynison: плеер, очередь и устройства. Псевдоним PutYnisonStateResponse.

Содержимое