Skip to content

Instantly share code, notes, and snippets.

@geff21st
Last active November 29, 2021 10:47
Show Gist options
  • Save geff21st/cb243e6c0db13e5504d5dbc1e7f9fc7f to your computer and use it in GitHub Desktop.
Save geff21st/cb243e6c0db13e5504d5dbc1e7f9fc7f to your computer and use it in GitHub Desktop.
Скрипт для Tamper Monkey
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Активирует управление скоростью в Яндекс.Музыке. Задаем желаемую скорость и скрипт ее поддерживает.
// @author You
// @match https://music.yandex.ru/*
// @icon https://www.google.com/s2/favicons?domain=yandex.ru
// @grant none
// ==/UserScript==
(function() {
'use strict';
const TARGET_SPEED = 1.5;
const handleStyles = () => {
const STYLE = document.createElement('style');
STYLE.classList.add('speed-styles');
STYLE.innerHTML = [
'.player-controls .player-controls__speed-controls {',
' display: inline-block;',
' font-size: 10px;',
' right: 46px;',
' width: 40px;',
' position: absolute;',
'}',
'.player-controls__seq-controls {',
' right: 88px;',
'}',
'.player-controls__btn.deco-player-controls__button.player-controls__btn_speed {',
' width: 40px !important;',
' margin-left: 0 !important;',
' display: flex;',
'}',
'.player-controls__speed-controls .d-icon.playback__control {',
' background-size: contain;',
' background-position: center center;',
' margin-left: 0;',
' margin-right: 8px;',
'}'
].join('');
document
.querySelectorAll('.speed-styles')
.forEach((el) => {
el.remove();
});
document.body.appendChild(STYLE);
};
const setSpeed = () => {
setTimeout(() => {
window.externalAPI.setSpeed(TARGET_SPEED);
}, 300);
};
const init = () => {
handleStyles();
window.externalAPI.on(window.externalAPI.EVENT_READY, () => {
console.log('EVENT_READY');
setSpeed();
});
window.externalAPI.on(window.externalAPI.EVENT_STATE, () => {
console.log('EVENT_STATE');
setSpeed();
});
window.externalAPI.on(window.externalAPI.EVENT_TRACK, () => {
console.log('EVENT_TRACK');
setSpeed();
});
};
init();
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment