remove mpv dep, convert aac to flac
This commit is contained in:
parent
80d73027a6
commit
524c413579
4 changed files with 97 additions and 10 deletions
11
index.ts
11
index.ts
|
@ -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`)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue