Skip to content

Аддон для PulseSync, позволяющий управлять музыкой через StreamDock

License

Notifications You must be signed in to change notification settings

AnimeLore/DockSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DockSync

DockSync - это аддон для PulseSync, разработанный специально для возможности управления приложением Яндекс.Музыки через мини-клавиатуры

Использование

Для использования аддона, необходимо:

  1. Убедиться, что установлена последняя версия PulseSync и последняя версия мода для Яндекс.Музыки
  2. Установить последнюю версию аддона
  3. Установить последнюю версию плагина для MiraBox/Ajazz интерфейса
  4. Запустить интерфейс MiraBox/Ajazz и Яндекс.Музыку в любом порядке

Примечание: Аддон является базой и без доп. плагинов, установленных на оборудование - работать не будет. Приложение PulseSync является обязательным для корректной работы аддона.

Методы для разработки

Аддон принимает запросы по WebSocket, для корректной работы необходимо чтобы ваш плагин самостоятельно поднимал WebSocket сервер по определенному порту. Порт можно изменить в настройках аддона.

Список доступных запросов и примеры их использования

Шаблон любого запроса плагина:

{
  "request": "requestId",
  "message": "requestMessage"
}

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

Поле message является необязательным и используется для основного дополнительного параметра команды.

Пример базового запроса

{
  "request": "device"
}

Данный запрос используется как тестовый. Если WebSocket верно настроен - в DevTools консоли Яндекс.Музыки появится сообщение Плагин успешно подключился к доку!.

Запросы влияющие на плеер

volume - используется для управления громкостью плеера
{
  "request": "volume",
  "message": 0.2,
  "how": 1
}

message - количество на которое нужно увеличить/уменьшить громкость плеера

how - направление изменения, может равняться -1 или 1

 

track - используется для управления треком
{
  "request": "track",
  "message": 1,
}

message - указывает в каком направлении нужно "двинуть" плеер (следующий трек/предыдущий трек), может равняться -1 или 1

 

repeatInteraction - используется для управления функцией повтора плеера
{
  "request": "repeatInteraction",
}

Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(

 

shuffleInteraction - используется для управления функцией перемешки плеера
{
  "request": "shuffleInteraction",
}

Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(

 

muteInteraction - используется для управления функцией выключения звука плеера
{
  "request": "muteInteraction",
}

Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(

 

playerInteraction - используется для управления паузой/воспроизведением треков в плеере
{
  "request": "playerInteraction",
}

Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(

 

likeInteraction - используется для добавления/удаления трека из избранного
{
  "request": "likeInteraction",
}

Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(

 

dislikeInteraction - используется для добавления/удаления трека из игнорируемых
{
  "request": "dislikeInteraction",
}

Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(

 

trackVibeInteraction - используется для запуска волны по треку
{
  "request": "trackVibeInteraction",
}

Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(

 

globalVibeInteraction - используется для запуска волны с главной страницы
{
  "request": "globalVibeInteraction",
}

Данный функционал эмулирует нажатие на кнопку в плеера и не поддерживает установку определенного значения :(

 

Запросы, возвращающие информацию о плеере

При отправке любого из этих запросов, аддон ответит схожим запросом на WebSocket с запрошенной информацией в параметре message

 

repeatState - возвращает текущее состояние повтора плеера, имеет значения:
  • 0 - Повтор выключен
  • 1 - Повтор включен для плейлиста
  • 2 - Повтор включен для одного трека

Отправляемый запрос из плагина:

{
  "request": "repeatState",
}

Ответ от аддона:

{
  "request": "repeatState",
  "response": 1
}

 

shuffleState - возвращает текущее состояние перемешки треков плеера, имеет значения:
  • 0 - Шаффл выключен
  • 1 - Шаффл включен

Отправляемый запрос из плагина:

{
  "request": "shuffleState",
}

Ответ от аддона:

{
  "request": "shuffleState",
  "response": 1
}

 

likeState - возвращает текущее состояние лайка плеера, имеет значения:
  • 0 - Трек не лайкнут
  • 1 - Трек лайкнут

Отправляемый запрос из плагина:

{
  "request": "likeState",
}

Ответ от аддона:

{
  "request": "likeState",
  "response": 1
}

 

playingState - возвращает текущее состояние плеера, имеет значения:
  • 0 - Плеер играет
  • 1 - Плеер на паузе

Отправляемый запрос из плагина:

{
  "request": "playingState",
}

Ответ от аддона:

{
  "request": "playingState",
  "response": 1
}

 

vibeState - возвращает текущее состояние плеера относительно "Моей волны", имеет значения:
  • 0 - Волна выключена
  • 1 - Волна включена

Отправляемый запрос из плагина:

{
  "request": "vibeState",
}

Ответ от аддона:

{
  "request": "vibeState",
  "response": 1
}

 

coverImage - возвращает URL (не https, а http) обложки трека, отдает в виде String.

Отправляемый запрос из плагина:

{
  "request": "coverImage",
}

Ответ от аддона:

{
  "request": "coverImage",
  "response": "http://example.com"
}

Благодарности

  • Спасибо разработчикам PulseSync за удобный интерфейс и обработку плагинов
  • Спасибо WolfySoCute за вдохновение и примеры работы WebSocket
  • Спасибо foreA-adoxid за ночные разговоры об window.sonataState

About

Аддон для PulseSync, позволяющий управлять музыкой через StreamDock

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published