remove mpv dep, convert aac to flac

This commit is contained in:
Seth 2025-04-19 23:39:47 -04:00
parent 80d73027a6
commit 524c413579
4 changed files with 97 additions and 10 deletions

View file

@ -1,5 +1,6 @@
import Auth from "./src/helpers/auth";
import Utils from "./src/helpers/utils";
import { utimes } from "fs/promises";
const utils = new Utils(await Auth());
@ -57,21 +58,23 @@ const tracks = await utils.fetchTracks();
for await (const track of tracks.items) {
const { id } = track.item
const createdAt = new Date(track.created)
const trackId = parseInt(id)
if (await Bun.file(`downloaded/${trackId}.flac`).exists()) {
console.log(`Already downloaded ${trackId}.flac`)
//console.log(`Already downloaded ${trackId}.flac`)
continue
}
const { manifestMimeType, manifest } = await utils.fetchTrack(parseInt(id))
const trackData = await utils.fetchTrack(parseInt(id))
try {
const audio = await utils.tagFlac(trackId, await utils.downloadFlac(manifestMimeType, manifest))
const audio = await utils.tagFlac(trackId, await utils.downloadFlac(trackData.manifestMimeType, trackData.manifest))
await Bun.write(`downloaded/${trackId}.flac`, audio)
console.log(`Downloaded ${trackId}.flac`)
await utimes(`downloaded/${trackId}.flac`, createdAt, createdAt)
//console.log(`Downloaded ${trackId}.flac`)
} catch (e) {
console.error(`Failed to download ${trackId}.flac`)
}