An open API service indexing awesome lists of open source software.

https://github.com/theking-oftime/yandexmusicmodclient

Modification for Yandex Music Desktop application to add some features
https://github.com/theking-oftime/yandexmusicmodclient

client-modification discord-rich-presence modification repack yandex-music

Last synced: 5 months ago
JSON representation

Modification for Yandex Music Desktop application to add some features

Awesome Lists containing this project

README

          

# YandexMusicModClient
[![TotalDownloads](https://img.shields.io/github/downloads/TheKing-OfTime/YandexMusicModClient/total?label=Загрузок)](https://github.com/TheKing-OfTime/YandexMusicModClient/releases "Download") [![OS - Windows](https://img.shields.io/badge/OS-Windows-blue)](https://github.com/TheKing-OfTime/YandexMusicModClient/releases "Download") [![OS - MacOS](https://img.shields.io/badge/OS-Mac-blue)](https://github.com/TheKing-OfTime/YandexMusicModClient/releases "Download") [![OS - MacOS](https://img.shields.io/badge/OS-Linux-blue)](https://github.com/TheKing-OfTime/YandexMusicModClient/releases "Download")



Сервер


Русский


English

### Это модификация для [настольного приложения Яндекс Музыка](https://music.yandex.com/download/), главная задача которой — добавить недостающие ванильному клиенту функции.

> [!CAUTION]
> ### Данная модификация НЕ даёт возможность пользоваться сервисом БЕЗ подписки Яндекс Плюс!

## Установка

0. Загрузите последнюю версию клиента Яндекс музыки с официального сайта https://music.yandex.com/download/.
1. Скачайте и установите Патчер из репозитория https://github.com/TheKing-OfTime/YandexMusicModPatcher следуя его порядку установки.
2. Нажмите в нём кнопку Patch.
3. Дождитесь окончания установки.
4. Готово!

Если из функций модификации вам нужны только разблокированные DevTools,
то в настройках патчера выберите **Канал релизов** "Только Девтулзы".

Преимущество в том, что эта версия собирается полностью автоматически и всегда использует последнюю версию ЯМ (Не спуфится как полная модификация).

## Возможности

### Discord Статус

Подробнее

Добавляет поддержку отображения текущего трека как статуса в Discord.
![image](https://github.com/user-attachments/assets/ff3b0726-6f83-4849-bce6-c5eb31523efa)

### Управление плеером с других устройств

Подробнее

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


Список устройств для воспроизведения
Управление воспроизведение с телефона на ПК клиенте


DiscordCanary_q3lSyzS2R9


Яндекс_Музыка_1AZwtDf0Tz

Настройки

Можно выключить в настройках внутри приложения:

![image](https://github.com/user-attachments/assets/8b7280d6-f2ef-4a0e-8835-32e173a1e843)

### Скробблинг Last.FM

Подробнее

Добавляет поддержку скробблинга в Last.FM. Трек заскробблится, если вы прослушаете хотя бы его половину (но при этом запрос скроббла отправиться при смене трека).

Страница пользователя Last.FM с заскроббленными треками

Настройки

Авторизоваться в Last.FM, а также включить/выключить функцию можно в соответствующем меню в настройках приложения:

![image](https://github.com/user-attachments/assets/0fbd13ed-7837-49c2-9b28-5bc210480002)

Процесс авторизации

https://github.com/user-attachments/assets/079f8b38-ca6b-4fef-b6a2-efa853fd583f

### Мини-плеер

Подробнее

Добавляет миниплеер. Отдельное окно которое отображает текущий трек и даёт возможность удобно управлять воспроизведением.

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


Кнопка открытия миниплеера
image
image
image

### Настраиваемая папка кеша

Подробнее

В ванильной версии весь кеш (в том числе скачанные вами треки для офлайн-прослушивания) хранится по пути `%appdata%/YandexMusic/`.

Данная функция позволяет использовать для кеша другой путь, например, чтобы 10 гигабайт скаченной вами музыки не тратили место на системном диске.

![image](https://github.com/user-attachments/assets/f48a8d32-d03f-4770-8204-460f37ab059f)

### Глобальные хоткеи

Подробнее

Добавляет поддержку глобальных хоткеев.

Настройки

```json
{
"globalShortcuts": {
"TOGGLE_PLAY": "Ctrl+/",
"MOVE_FORWARD": "Ctrl+,",
"MOVE_BACKWARD": "Ctrl+.",
"TOGGLE_SHUFFLE": "Ctrl+'",
"REPEAT_NONE": "",
"REPEAT_CONTEXT": "",
"TOGGLE_LIKE": "",
"TOGGLE_DISLIKE": ""
}
}
```

### Улучшение превью панели задач

Подробнее

Добавляет поддержку расширений панели задач (Taskbar Extensions).

![browser_Y2f5KiyCYN](https://github.com/user-attachments/assets/877f5c77-f196-4702-bd44-7da60e1a0d93)

### Повтор трека в Моей Волне

Подробнее

Добавляет возможность включить повтор трека когда играет **Моя Волна**.


Повтор трека в Моей Волне — интерфейс

### Отображение качества трека

Подробнее

Отображает качество либо кодек текущего трека.

![image](https://github.com/user-attachments/assets/424434fb-5e66-4a85-8ca2-90179cb7f357)

### Улучшенная анимация Моей Волны

Подробнее

Улучшает поведение анимации **Моей Волны**. Она начинает лучше адаптироваться к музыке. Также позволяет настраивать частоту кадров в секунду при рендеринге анимации.

_До:_

https://github.com/user-attachments/assets/23a8da4d-3d6a-43c6-a5f5-965e065ed912

_После:_

https://github.com/user-attachments/assets/b062a3ee-d05e-4cf3-8e03-b6f8bf66525c

### Поиск при добавлении трека в плейлист

Подробнее

Добавляет строку поиска в контекстное меню выбора плейлиста.


Пример настроек внутри приложения

### Информация о скачанных треках

Подробнее

Добавляет информацию о скачанных треках на страницу настроек (количество скачанных треков и используемое хранилище для скачанных треков).

![image](https://github.com/user-attachments/assets/d3ba9ada-941c-4bd2-8c53-dad54090bf4e)

### Скачивание треков в файл

Подробнее

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

![image](https://github.com/user-attachments/assets/95a52251-401a-4071-9ee3-914b8c7b7c8f)

image

image

image

### Произвольный масштаб приложения

Подробнее

Вы можете менять масштаб приложения сочетанием клавиш `Ctrl+=` и `Ctrl+-`.

_Диапазон масштабов: 75% - 200%._

Сбросить масштаб до 100% можно с помощью `Ctrl+0`.

### Исправления багов ванильного клиента

Подробнее

В ванильном клиенте есть набор багов, которые довольно сильно ухудшают опыт использования. Некоторые из них исправлены в моде. Например:

- Клиент больше не теряет чёткость, если занимает нечётное количество пикселей по высоте или ширине.
- Клиент больше не теряет медиаконтекст (ака медиаклавиши), когда включён кроссфейд.
- Воспроизведение AAC треков не застревает, если перемотать ровно на 1:00.
- Модальные окна в настройках имеют одинаковый бекдроп. Кроме того он появляется плавно.
- Исправлен css темы для компонента слайдеров.
- Кнопки на панели плеера лучше адаптируются к размеру окна приложения. Кроме того делается это плавно.
- В рамках улучшения анимации **Моей Волны** обновлены неверные параметры анализатора (если точнее правильно настроены fftSize и smoothingTimeConstant).
- Исправлена проблема из-за которой не за весь тайтл бар можно было перемещать окно приложения по экрану.

### Эксперименты

Подробнее

Позволяет включать/выключать эксперименты. Для этого вам нужно включить **Режим разработчика**.

![image](https://github.com/user-attachments/assets/b341e6cb-58e3-4dfa-b8b3-e6ece72539a5)

### Devtools & Панель Разработчика

Подробнее

![electron_L6SeZLnSAH](https://github.com/TheKing-OfTime/YandexMusicModClient/assets/68960526/ae841087-d910-45e5-a007-3fd869a493e1)

![electron_y6aOeckPLH](https://github.com/TheKing-OfTime/YandexMusicModClient/assets/68960526/4bde4785-9196-4ac6-ad3b-9ac5db5b61c8)

## Настройки
Настройки можно найти в `%appdata%\YandexMusic\config.json`.

Настройки внутри приложения:


Пример настроек внутри приложения

## Сборка проекта из исходников

0. Убедитесь что **Яндекс Музыка** и **node.js** уже установлены.
1. Склонируйте проект:
```cmd
git clone https://github.com/TheKing-OfTime/YandexMusicModClient.git
```
2. Установите зависимости:
```cmd
npm install
```
Учтите, что зависимости вам нужно устанавливать в корневой папке проекта, а не в `/src/`.

Для удобства сборки в проекте есть cli скрипт `toolset.js`, он позволяет быстро и просто распаковать, упаковать, опубликовать, спуфнуть, или пропатчить код.

3. Собрать проект:
```cmd
node toolset.js build -d -m
```
Эта команда автоматически оптимизирует код (минифицирует его), а после запакует его по пути **Яндекс Музыки** по умолчанию `%localappdata%/Programs/YandexMusic/resources/app.asar`.

4. Для быстрой сборки проекта при разработке можете использовать команду:
```cmd
node toolset.js rebuild
```
Не обязательные долгие этапы будут пропущены.

## Поддержка
Если вам действительно понравился новый опыт использования **Яндекс Музыки** с этой модификацией, вы можете поддержать мою работу над ней:



Поддержите меня на бусти

## Спонсоры
Большое спасибо спонсорам, которые позволяют мне активно работать над этим проектом:



rufus20145


Nulliik


dmitrybabich


am0rall


ajioe1111


xab4er


Crosbic


foreA-adoxid


Maks1mio


FaSSteR


Dott-rus


Lemon4ksan


SergheyUmca


schwarzalexey


dudoska


Diramix


trigger-off


Baduga


LazyMind


Schelchki


entaneey


saqura1337


alex2810com


ellatuk


LockMea


LockMea


Danila0986


Cheafiss


raxemus


Ryto0


Rubikoid


NeoDaniil


ethermawe


mfoxru


aleks-fill

> Список обновляется вручную.