MCPcopy Create free account
hub / github.com/NMWplays/Glowify / installPlaylistIndicatorVisualizer

Function installPlaylistIndicatorVisualizer

theme.js:4686–4836  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

4684 if (Array.isArray(imgs) && imgs[0]?.url) return imgs[0].url;
4685 return "";
4686 };
4687 const trackToUri = (t) => {
4688 if (!t) return "";
4689 const ctx = t.contextTrack || t;
4690 return ctx.uri || ctx.contextUri || t.uri || "";
4691 };
4692 const getQueue = () => anyWin.Spicetify?.Queue || anyWin.Spicetify?.Platform?.PlayerAPI?._queue || {};
4693 const getCurrentItem = () => {
4694 try {
4695 const data = anyWin.Spicetify?.Player?.data;
4696 return data?.item || data?.track || null;
4697 } catch {
4698 return null;
4699 }
4700 };
4701 const getCurrentCoverUrl = () => {
4702 const url = trackToImageUrl(getCurrentItem());
4703 if (url) return url;
4704 const cont = document.querySelector(CONTAINER_SEL);
4705 return cont?.querySelector(".main-nowPlayingView-coverArt img")?.src || cont?.querySelector("img")?.src || "";
4706 };
4707 const getCurrentUri = () => trackToUri(getCurrentItem());
4708 const getNextItem = () => {
4709 try {
4710 const q2 = getQueue();
4711 return q2.nextTracks?.[0] || q2.next_tracks?.[0] || null;
4712 } catch {
4713 return null;
4714 }
4715 };
4716 const getPrevItem = () => {
4717 try {
4718 const q2 = getQueue();
4719 const arr = q2.prevTracks || q2.previous_tracks;
4720 return arr?.[arr.length - 1] || null;
4721 } catch {
4722 return null;
4723 }
4724 };
4725 const getNextCoverUrl = () => {
4726 const url = trackToImageUrl(getNextItem());
4727 if (url) return url;
4728 const el = document.querySelector("#glowify-next-song-card .nsc-cover");
4729 if (!el) return "";
4730 if (el.tagName === "IMG") return el.src;
4731 const m2 = getComputedStyle(el).backgroundImage.match(/url\(["']?(.+?)["']?\)/);
4732 return m2 ? m2[1] : "";
4733 };
4734 const getPrevCoverUrl = () => trackToImageUrl(getPrevItem());
4735 const getNextUri = () => trackToUri(getNextItem());
4736 const getPrevUri = () => trackToUri(getPrevItem());
4737 let prevUrl = "", currentUrl2 = "", nextUrl = "";
4738 let prevUri = "", currentUri = "", nextUri = "";
4739 let track = null, clip = null, prevSlot = null, currentSlot = null, nextSlot = null;
4740 let mountedContainer = null, origPosition = "";
4741 let canvasVisible = false;
4742 let animating = false;
4743 let canvasPoll = null;

Callers 1

Calls 2

sleepFunction · 0.85
updateIndicatorFunction · 0.85

Tested by

no test coverage detected