Automatically enhances the resolution of album art on YouTube Music.
// ==UserScript==
// @name Youtube Music - Fix Album
// @namespace Youtube Music - Fix Album
// @license MIT
// @version 1.1.1
// @description Automatically enhances the resolution of album art on YouTube Music.
// @icon https://www.gstatic.com/youtube/media/ytm/images/applauncher/music_icon_48x48.png
// @grant none
// @author Holome-FT
// @homepage https://gist.github.com/Holome-FT/
// @match https://music.youtube.com/*
// ==/UserScript==
(() => {
'use strict';
let playerImageNode = null;
const observeAlbumSRC = new MutationObserver(() => {
let albumSRC = playerImageNode?.src?.match(new RegExp(".*="));
if (albumSRC && albumSRC.length > 0) {
if (!playerImageNode.src.endsWith("w1024-h1024-s1024-l100-rj"))
{
playerImageNode.width = 1024;
playerImageNode.src = albumSRC[0] + "w1024-h1024-s1024-l100-rj";
console.info("Youtube Music - Fix Album");
}
} else {
observeAlbumSRC.disconnect();
playerImageNode = null;
albumSRC = null;
observeAlbum.observe(document.body, { childList: true });
}
});
const observeAlbum = new MutationObserver(findAlbum);
observeAlbum.observe(document.body, { childList: true });
function findAlbum()
{
const playerNode = document.querySelector("ytmusic-player");
playerImageNode = playerNode?.querySelector("img");
if (playerImageNode && playerImageNode.width && playerImageNode.src) {
observeAlbum.disconnect();
observeAlbumSRC.observe(playerImageNode, { attributeFilter: ["src"] });
}
}
findAlbum();
})();