Skip to content

Modification for Yandex Music Desktop application to add some features

License

Notifications You must be signed in to change notification settings

TheKing-OfTime/YandexMusicModClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YandexMusicModClient

TotalDownloads OS - Windows

Сервер English Русский

This is a modification for Yandex Music Desktop application which unmodified version can be downloaded here

YandexMusicModClient or its developer is not affiliated with Yandex or any of their companies, staff etc.

Message for Yandex Music Staff

Since you found my code usefull and copied some parts from here (more specifically PLAYER_ACTION event) and added it to vanilla client. You might want to hire me. My work will be much more efficient if I work on the source code in a cozy office rather than with a minified & webpacked version of the code

Install

Warning

Installing the modification for an unsuitable client version can lead to unpredictable results.

Before installing, make sure that the client version and the version for which the modification was made coincide. This can be checked on the Releases page

  1. Download latest Yandex music client from offical site https://music.yandex.com/download/
  2. Open command line (Win + R -> cmd -> Enter)
  3. Execute this command
    curl -L https://github.com/TheKing-OfTime/YandexMusicModClient/releases/latest/download/app.asar > %localappdata%/Programs/YandexMusic/resources/app.asar
  4. Done!

Note

Relogin may be required after patch install.

Features

Discord Rich Presence

Details

Adds support for Discord Rich Presence

Settings
  "discordRPC": {
		"enable": true or false,                         //Enables or disables disocrd RPC
		"applicationIDForRPC": "1124055337234858005",    //ID of your custom application for discord RPC
		"showButtons": true or false,                    //Enables or disables all buttons in discord Status 
		"overrideDeepLinksExperiment": true or false,    //Enables or disables split web and desktop buttons into one button
		"showGitHubButton": true or false,               //Enables or disables Github button if overrideDeepLinksExperiment set to true
		"afkTimeout": 15,				 //Timeout for activity to be cleared if track paused. Value in minutes.
		"showAlbum": true or false,                      //Enables or disables album string in discord Status 
		"showSmallIcon": true or false,                  //Enables or disables status icon in discord Status 
  }

image

Global Shortcuts

Details

Adds support for Global Shortcuts.

Currently supported only this actions (I tried add more but others work pretty unstable due to horrible babel & webpack config on Yandex's end)

Settings
"globalShortcuts": {
	"TOGGLE_PLAY": "Ctrl+K",
	"MOVE_FORWARD": "Ctrl+L",
	"MOVE_BACKWARD": "Ctrl+J",
	"TOGGLE_SHUFFLE": undefined,
	"REPEAT_NONE": undefined,
	"REPEAT_CONTEXT": undefined,
	"REPEAT_NONE": undefined,
}

Taskbar Extensions

Details

Adds support for Taskbar Extensions

Settings
  "taskBarExtensions": {
		"enable": true or false //Enables or disables Taskbar Extensions
  }

image

Return dislike button

Details

Returns dislike button on main player bar

image

Track quality display

Details

Displayes track quality or codec

Settings
"playerBarEnhancement": {
	"showDislikeButton": true //Enabels or disabels Return dislike button feature
	"showCodecInsteadOfQualityMark": true //Show codec instead of quality mark
}

image image

Enhanced Vibe Animation

Details

Enhances Vibe Animation behavior. It better adapts to music. Also allows custom FPS of the animation rendering.

Settings
  "vibeAnimationEnhancement": {
    "maxFPS": 25,              	// Max allowed FPS. Defalut 25. Recommended 25 - 144. Don't set this value below 1
    "intensityCoefficient": 1, 	// Sensitivity of music analysis. Default 1, Recommended: 0.5 - 2. If set to 0 disables enhancement behavior (almost :D)
    "linearDeBoost": 5,		// [DEPRECATED] Separation coefficient of track peaks from the main track. Default 5. Recommended 2 - 8. If 1 disables libear deboost.
    "playOnAnyEntity": false,	// If enabled Animation plays even if not My Vibe used as track source.
    "disableRendering": false	// Disables rendering of the animation. Use only if you feel significant fps drops. Else try adjust maxFPS value.
  }

before:

_._yfSdEcSdhY.mp4

after:

_._BS8XsWB3Sg.mp4

Download current track to a file

Details

Allows download track that is currently playing into a file. Click to the quality/codec icon to show download dialog.

Experiment overrides

Details

Allows you to enable/disable any experiment in the app. To do so you need set "enableDevTools": true and then you'll see the button in the dev panel:

Devtools & DevPanel

Details

Devtools are disabled by default. To enable them you need modify %appdata%\YandexMusic\config.json:

Change "enableDevTools": false to "enableDevTools": true

electron_L6SeZLnSAH

electron_y6aOeckPLH

Settings

Settings can be found in %appdata%\YandexMusic\config.json

In app UI:

UI Settings example

Note

App restart required for settings apply.

Support

If you really enjoyed the new experience with this modification, you can support my work on it:

Support me on Boosty

Sponsors

Thanks a lot to the sponsors who allow me to actively work on this project.

FaSSteR Dott-rus Lemon4ksan SergheyUmca schwarzalexey dudoska Diramix trigger-off Baduga LazyMind Schelchki

This list updates manually.