This commit is contained in:
Araxeus
2021-05-08 21:21:07 +03:00
parent da3c709ff0
commit 6b88397f82

View File

@ -10,16 +10,15 @@ const { cropMaxWidth } = require("./utils");
const { ACTIONS, CHANNEL } = require("./actions.js"); const { ACTIONS, CHANNEL } = require("./actions.js");
const { getImage } = require("../../providers/song-info"); const { getImage } = require("../../providers/song-info");
const sendError = (win, err) => { const sendError = (win, error) => {
const dialogOpts = { win.setProgressBar(-1); // close progress bar
dialog.showMessageBox({
type: "info", type: "info",
buttons: ["OK"], buttons: ["OK"],
title: "Error in download!", title: "Error in download!",
message: "Argh! Apologies, download failed…", message: "Argh! Apologies, download failed…",
detail: err.toString(), detail: error.toString(),
}; });
win.setProgressBar(-1); // close progress bar
dialog.showMessageBox(dialogOpts);
}; };
let nowPlayingMetadata = {}; let nowPlayingMetadata = {};
@ -33,13 +32,13 @@ function handle(win) {
listenAction(CHANNEL, (event, action, arg) => { listenAction(CHANNEL, (event, action, arg) => {
switch (action) { switch (action) {
case ACTIONS.ERROR: //arg = error case ACTIONS.ERROR: // arg = error
sendError(win, arg); sendError(win, arg);
break; break;
case ACTIONS.METADATA: case ACTIONS.METADATA:
event.returnValue = JSON.stringify(nowPlayingMetadata); event.returnValue = JSON.stringify(nowPlayingMetadata);
break; break;
case ACTIONS.PROGRESS: //arg = progress case ACTIONS.PROGRESS: // arg = progress
win.setProgressBar(arg); win.setProgressBar(arg);
break; break;
default: default:
@ -49,15 +48,12 @@ function handle(win) {
ipcMain.on("add-metadata", async (event, filePath, songBuffer, currentMetadata) => { ipcMain.on("add-metadata", async (event, filePath, songBuffer, currentMetadata) => {
let fileBuffer = songBuffer; let fileBuffer = songBuffer;
let songMetadata; const songMetadata = currentMetadata.imageSrcYTPL ? // This means metadata come from ytpl.getInfo();
if (currentMetadata.imageSrcYTPL) { // means metadata come from ytpl.getInfo(); {
songMetadata = {
...currentMetadata, ...currentMetadata,
image: cropMaxWidth(await getImage(currentMetadata.imageSrcYTPL)) image: cropMaxWidth(await getImage(currentMetadata.imageSrcYTPL))
}; } :
} else { { ...nowPlayingMetadata, ...currentMetadata };
songMetadata = { ...nowPlayingMetadata, ...currentMetadata };
}
try { try {
const coverBuffer = songMetadata.image ? songMetadata.image.toPNG() : null; const coverBuffer = songMetadata.image ? songMetadata.image.toPNG() : null;
@ -71,7 +67,7 @@ function handle(win) {
writer.setFrame("APIC", { writer.setFrame("APIC", {
type: 3, type: 3,
data: coverBuffer, data: coverBuffer,
description: "", description: ""
}); });
} }
writer.addTag(); writer.addTag();