Files
nix/scripts/bin/musicTest.ts
2025-11-19 22:01:25 +02:00

36 lines
1.1 KiB
TypeScript

import { $ } from "bun";
import { setConsoleTitle } from "@ocbwoy3/libocbwoy3";
import { existsSync, readFileSync, writeFileSync } from "fs";
setConsoleTitle("Music Test");
try {
const artUrl =
await $`playerctl -s -p cider,chromium,OCbwoy3_s_iPhone metadata mpris:artUrl`.text();
const title =
await $`playerctl -s -p cider,chromium,OCbwoy3_s_iPhone metadata title`.text();
const artist =
await $`playerctl -s -p cider,chromium,OCbwoy3_s_iPhone metadata artist`.text();
const album =
await $`playerctl -s -p cider,chromium,OCbwoy3_s_iPhone metadata album`.text();
const MT = `${artist.trim()},${album.trim()}`;
if (
!existsSync("/tmp/.musictest-info") ||
readFileSync("/tmp/.musictest-info").toString("utf-8") !== MT
) {
writeFileSync("/tmp/.musictest-info", MT);
const x = await fetch(artUrl.trim());
writeFileSync("/tmp/.musictest", await x.bytes());
}
$`notify-send ${title.trim()} ${artist.trim()} -i /tmp/.musictest`
.nothrow()
.catch((a) => {});
} catch (e_) {
console.error(e_);
$`notify-send "music test" "lol"`.nothrow().catch((a) => {});
}